Dividir una columna por otra en una matriz

Un usuario Pregunto ✅

cwoy2j

Hola,

Estoy creando un par de matrices en Power BI y estoy tratando de crear una que cuente según una determinada estadística y la otra muestre el porcentaje. Fue bastante fácil obtener los conteos (ver más abajo). Sin embargo, estoy teniendo dificultades para crear porcentajes. Lo que quiero hacer es mostrar el porcentaje de uso o no uso por año fiscal por tipo de beca. Por lo tanto, el % no utilizado de reconocimiento para el año fiscal 2015 sería del 15 % y el porcentaje de uso del 85 %. ¿Cómo haría para hacerlo? Soy bastante nuevo en BI, así que disculpe si esto es algo simple.

AF15 AF16
Tipo de beca No usado Usado Total No usado Usado Total Gran total
Conciencia 19 108 127 57 461 518 645
Compañero 69 686 755 124 1081 1205 1960
Reconocimiento 88 554 642 61 616 677 1319
Regulador 20 280 300 79 382 461 761

Además, así es como está estructurada la tabla subyacente en el modelo de datos

Identificación del beneficiario de la beca Estadísticas de uso Año fiscal Tipo de beca
4529783 Usado AF15 Reconocimiento
10564207 Usado AF16 Reconocimiento
6409092 Usado AF16 Reconocimiento
30748898 Usado AF15 Reconocimiento
17522706 Usado AF16 Reconocimiento
18329306 Usado AF16 Compañero
17310161 Usado AF15 Reconocimiento
21357211 Usado AF16 Conciencia

@cwoy2j

En una matriz, las columnas se generan en función de los campos de datos del grupo de columnas, que es dinámico. No podemos hacer que una columna se divida directamente entre otra columna.

En su escenario, debe limitar el alcance del contexto de la fila actual en sus cálculos. Puede crear dos medidas, una para Sin usar y la otra para Usado. Luego calcule el porcentaje basado en esas dos medidas.

Unused Total= CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Usage Status]="Unused"))

Used Total= CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Usage Status]="Used"))

Used Pct= [Used Total]/([Unused Total]+[Used Total])

Unused Pct= [Unused Total]/([Unused Total]+[Used Total])

Saludos,

Simón Hou

parar2k

En respuesta a cwoy2j

Agregue una columna de índice a su modelo de datos y luego use esa columna para contar.

paso 1: haga clic en editar consulta

paso 2: agregar columna de índice

índice1.PNG

y así es como se mostrará en su modelo de datos, puede cambiar la etiqueta del encabezado lo que quiera

Índice2.PNG

y cambie todas las fórmulas de sum a count así:

Unused Total= CALCULATE(COUNT(Table[Index]),FILTER(Table,Table[Usage Status]="Unused"))

@cwoy2j

En una matriz, las columnas se generan en función de los campos de datos del grupo de columnas, que es dinámico. No podemos hacer que una columna se divida directamente entre otra columna.

En su escenario, debe limitar el alcance del contexto de la fila actual en sus cálculos. Puede crear dos medidas, una para Sin usar y la otra para Usado. Luego calcule el porcentaje basado en esas dos medidas.

Unused Total= CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Usage Status]="Unused"))

Used Total= CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Usage Status]="Used"))

Used Pct= [Used Total]/([Unused Total]+[Used Total])

Unused Pct= [Unused Total]/([Unused Total]+[Used Total])

Saludos,

Simón Hou

cwoy2j

En respuesta a v-sihou-msft

Desafortunadamente esto no funcionó. La columna Estadísticas de uso en la tabla subyacente es un campo de texto.

Mensaje de error: MdxScript(Modelo) (1, 62) Error de cálculo en la medida ‘ScholarshipData'[Unused Total]: La función SUM toma un argumento que se evalúa como números o fechas y no puede funcionar con valores de tipo String.

parar2k

En respuesta a cwoy2j

Agregue una columna de índice a su modelo de datos y luego use esa columna para contar.

paso 1: haga clic en editar consulta

paso 2: agregar columna de índice

índice1.PNG

y así es como se mostrará en su modelo de datos, puede cambiar la etiqueta del encabezado lo que quiera

Índice2.PNG

y cambie todas las fórmulas de sum a count así:

Unused Total= CALCULATE(COUNT(Table[Index]),FILTER(Table,Table[Usage Status]="Unused"))

cwoy2j

En respuesta a parar2k

¡Gracias a los dos!

cwoy2j

En respuesta a v-sihou-msft

¡Gracias! Lo probaré cuando vuelva al trabajo la próxima semana. Agradezco la respuesta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *