Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Mi organización tiene dos sistemas de entrada de tiempo. He creado una matriz que muestra el número total de horas introducidas en cada sistema, por proyecto, que se puede filtrar por empleado y período de pago. A continuación se muestra un resultado de muestra, con la columna Comparación siendo una medida que resta el tiempo en el sistema 2 de la hora en el sistema 1. (Nombre del proyecto, tiempo del sistema 1 y tiempo del sistema 2 están todos en tablas diferentes conectadas a través de una serie de relaciones.)
Período de pago que finaliza 1/31/2020 | |||
Nombre del proyecto | Syst 1 Time | Sys 2 Tiempo | Comparación |
PROJ 1 | 5.5 | 5.5 | 0 |
PROJ 2 | 5.5 | 5.5 | 0 |
PROJ 3 | 12.25 | 12.25 | 0 |
PrROJ 4 | 13.75 | 13.75 | 0 |
PROJ 5 | 0.5 | 0.5 | 0 |
PROJ 6 | 3.5 | 3.5 | 0 |
PROJ 7 | 18 | 18 | 0 |
PROJ 8 | 0.5 | -0.5 | |
PROJ 9 | 7.5 | 8 | 0.5 |
PROJ 10 | 5 | 5 | 0 |
PROJ 11 | 3 | 3 | 0 |
Total | 75 | 75 | 0 |
En otra matriz, quiero mostrar, por empleado, si el tiempo introducido en ambos sistemas coincide o no. He podido crear una medida que comparará el total de horas en cada sistema, filtrada por período de pago, pero ese resultado no es lo que quiero ya que, como se puede ver en los datos de muestra anteriores, el número total de horas en cada sistema coincide, pero el número de horas por proyecto no coincide. Quiero poder mostrar que el tiempo de esta persona no coincide en ambos sistemas sin tener que incluir las filas del proyecto en la segunda matriz.
¿Hay alguna manera de hacer esto? He pensado que podría necesitar usar 'group by', pero simplemente no sé lo suficiente sobre DAX para saber si eso es correcto o cómo escribir una medida de este tipo si lo es. Cualquier ayuda sería apreciada. --Shauna
BTW - No puedo proporcionar archivos .pbix debido a la política de la empresa, pero estoy encantado de proporcionar información adicional sobre los conjuntos de datos si es necesario.
Solved! Go to Solution.
En ese caso, entonces algo como esto debería funcionar:
Measure =
VAR __Table =
SUMMARIZE(
'Table',[Project],
"__Comp",[Comparison]
)
RETURN
IF(COUNTROWS(FILTER(__Table,[Comparison] <> 0)) = 0,"Good","Bad")
Bueno, es muy difícil ser específico porque se habla de una persona y que quiere mostrar por persona, pero no hay ninguna persona en los datos de muestra y no hay información sobre si el nombre de la persona está en la tabla u otra tabla relacionada, cómo se relacionan esas tablas, etc.
Por lo tanto, puedo proporcionar una solución general. Utilice SUMMARIZE o GROUPBY para resumir por persona y por proyecto y agregar en su medida/columna de comparación. Filtre de tal forma que filtre cualquier 0 para Comparación. Haga un COUNTROWS. Si COUNTROWS es 0/BLANK, no hay discrepancias. De lo contrario, discrepencies.
@Greg_Deckler Lo siento por la confusión/ vaguedad dentro de mi primer post. Tengo una tabla que contiene Proyectos, una tabla que contiene Empleados, una tabla que contiene el tiempo del sistema 1, una tabla que contiene tiempo para el sistema 2 y una tabla que contiene las fechas del período de pago, así como un número de otras tablas que proporcionan información adicional que ayuda a crear todas las relaciones entre las tablas. El empleado no se incluye en la matriz de datos de ejemplo porque no es un campo de esa matriz. En su lugar, he utilizado una segmentación de datos para permitir que el usuario filtre por empleado.
Espero que eso ayude. --Shauna
En ese caso, entonces algo como esto debería funcionar:
Measure =
VAR __Table =
SUMMARIZE(
'Table',[Project],
"__Comp",[Comparison]
)
RETURN
IF(COUNTROWS(FILTER(__Table,[Comparison] <> 0)) = 0,"Good","Bad")
@Greg_Deckler ¡Muchas gracias! Esto funcionó (y lo marqué como una solución), pero preferiría que los espacios en blanco se consideraran "malos". ¿Cómo debo cambiar la instrucción IF para lograrlo?
@smstrickland - Genial! No estoy seguro de seguir en su pregunta de seguimiento.
Measure =
VAR __Table =
SUMMARIZE(
'Table',[Project],
"__Comp",[Comparison]
)
RETURN
IF(COUNTROWS(FILTER(__Table,[Comparison] <> 0)) = 0,"Bad","Good")
?
@Greg_Deckler No importa la última pregunta, y gracias de nuevo por su ayuda. --Shauna
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |