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 |
v-sihou-msft
@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
y así es como se mostrará en su modelo de datos, puede cambiar la etiqueta del encabezado lo que quiera
y cambie todas las fórmulas de sum a count así:
Unused Total= CALCULATE(COUNT(Table[Index]),FILTER(Table,Table[Usage Status]="Unused"))
v-sihou-msft
@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
y así es como se mostrará en su modelo de datos, puede cambiar la etiqueta del encabezado lo que quiera
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.