Anónimo
Hey gente,
Revisando este tema para que sea menos confuso con la esperanza de que alguien pueda tener una solución.
Tengo un conjunto de datos con una enorme lista de usuarios y su estado de finalización para una amplia variedad de cursos de capacitación. Los cursos de capacitación se agrupan por Programa (por ejemplo, el Programa 1 puede tener 7 cursos, el Curso 1, el Curso 2, etc.).
Lo que estoy tratando de hacer es mostrar 2 cosas:
1.) % de finalización del usuario por programa (por ejemplo, el programa 1 tiene 7 cursos, si el usuario A completó los 7, está 100 % completo para el programa, si el usuario B completó 6 de 7 cursos, está 86 % completo para el programa, etc)
2.) Lista de cursos incompleta por usuario (el usuario B ha completado 6 de 7 cursos en el programa 1, por lo que quiero mostrar el curso 1 que no han completado para que su gerente sepa qué debe terminar)
De hecho, hice que esto funcionara muy bien en Excel, pero no estoy seguro de cuál sería el equivalente de DAX o Power BI. Aquí hay una captura de pantalla de mi archivo de Excel con el código que funciona debajo de eso en caso de que ayude:
=IFERROR(INDEX(data!B:B,AGGREGATE(15,6,ROW(data!$B$2:$B$100)/((data!$E$2:$E$100=$B$2)*(data!$G$2:$G$100<>"Complete")),ROWS($1:1))),"")
Esperemos que sea un poco más claro y no sea tan pesado. Si algún gurú de Excel que esté familiarizado con Power BI sabe cómo ayudarme a tomar lo que he hecho funcionar en Excel y migrarlo a PBI, ¡estaría eternamente agradecido!
Anónimo
Topando esta vez solo con una publicación principal muy revisada con la esperanza de que la claridad ayude a producir una respuesta.
parar2k
En respuesta a Anónimo
@Anónimo hace que algo como esto funcione
Anónimo
En respuesta a parar2k
¡Sí! ¡Esto se ve casi perfecto!
Corríjame si me equivoco, pero la tabla superior que tiene aquí mostraría el % de finalización, por lo que el Usuario A completó todos los cursos en el Programa 1 (digamos 10/10) pero solo el 71% de los cursos en el Programa 2 ( así que digamos 7/10). Si eso es lo que muestra, entonces sí señor, ¡eso es perfecto!
Para la segunda tabla, parece que mostraría que el Usuario A tiene 2 cursos incompletos en el Programa 2, y esos cursos son el Curso 1 y el Curso 2. Muestra eso para todos los usuarios. Si eso es lo que está haciendo la segunda tabla, eso también es perfecto 🙂
¿Cómo haría para hacer lo que has reunido aquí?
Esto es emocionante, no sabía si me estaba explicando correctamente, pero sus soluciones parecen acertadas.
parar2k
En respuesta a Anónimo
@Anónimo No sé cómo es su modelo de datos, pero esto es lo que hice, pero siempre puede modificarlo según su modelo.
Agregue las siguientes medidas y lo hará.
Count Course = COUNTROWS ( Course ) //base measure
Count Course Completed = CALCULATE ( [Count Course], Course[Status] = "Completed" )
Count Course Outstanding = CALCULATE ( [Count Course], Course[Status] <> "Completed" )
% Completed = DIVIDE ( [Count Course Completed], [Count Course Completed] + [Count Course Outstanding] )
Anónimo
En respuesta a parar2k
Gracias por su ayuda en esto, realmente REALMENTE lo aprecio.
Tengo algunos problemas con los datos que no se muestran a todos. Aquí hay una captura de pantalla:
Agregué las medidas que proporcionó y actualicé las referencias de rango para mi conjunto de datos. Cuando filtro por programa (en la parte superior a través de la segmentación), la tabla inferior muestra una lista de todos los usuarios de ese programa que aún no han comenzado. Como puede ver en la columna Nombre del empleado, hay una gran variedad de usuarios (todos llamados Aaron ya que está filtrado alfabéticamente, pero todos son Aaron diferentes).
Pero en la tabla que armé con estas nuevas medidas DAX, solo muestra a dos personas con menos del 100 % completo, y ninguna de ellas es Aarons.
Supongo que estoy haciendo algo mal aquí, así que aquí están las medidas DAX que modifiqué:
% Completed = DIVIDE ( [Count Course Completed], [Count Course Completed] + [Count Course Outstanding] )
Count Course Completed = CALCULATE ( [Count Course], course_completions_report[Completion Status] = "Complete" )
Count Course Outstanding = CALCULATE ( [Count Course], course_completions_report[Completion Status] <> "Complete" )
Count Course = COUNTROWS ( course_completions_report ) //base measure
El nombre de mi conjunto de datos (importado a través de Excel) es Course_completions_report.xlsm. No estoy seguro de si esa última medida es incorrecta o no.
Además, en caso de que importe, mi archivo de Excel tiene 2 pestañas, Course_completions_report y CP. CP tiene todos los programas y cursos asociados, e hice la conexión en la pestaña Modelo de Power BI.
Muchas gracias por su ayuda, espero que usted o alguien más pueda ayudarme a descubrir por qué esto está siendo raro, pero si no, ¡continuaré resolviendo el problema!
v-chuncz-msft
En respuesta a Anónimo
@Anónimo
Obtenga más información sobre CALCULATE e intente verificar la fórmula con menos datos utilizando segmentaciones y filtros.