Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Estoy buscando calcular el número total de días "posibles" para un grupo de personas en función de StartDate y EndDate, que cambia según el período que estoy viendo en comparación con su PositionStartDate (PSD) real y PositionEndDate (PED). También solo quiero usar el primer valor de secuencia
Por ejemplo
para enero de 2022 el total de días posibles sería de 31.
-si una persona tenía una DSP del 31/12/21 y una DEP del 28/02/22, entonces el número debe ser 31, ya que su DSP es anterior al comienzo del período, y la DEP es posterior al final del período
-si una persona tenía una DSP del 10/12/21 y una PED del 31/01/22, entonces el número debería ser 21
La medida que he creado hasta ahora funciona cuando está dentro de una tabla, sin embargo, el número total es incorrecto (está usando las fechas máximas y mínimas en mi tabla de fechas en todas las filas de mi tabla Posición.
Que regresa
Los valores son correctos sin embargo 184,890 / 30 = 6163 que es el número de posiciones en la tabla con una secuencia histórica de 1
Puedo obtener la respuesta correcta cuando aplico filtros a la tabla, a saber, TotalPossibleDays > 0 y la versión
Pero no estoy seguro de cómo hacer eso dentro de la medida en este momento.
Gracias de antemano
Solved! Go to Solution.
Logré obtener la respuesta esperada al no usar MIN() y MAX() alrededor de PSD y PED
Un DAX HASONEVALUE(
Sospecho que es posible que deba usar la tabla agregada creada por summarize(). Algunos códigos como el siguiente:
code =
VAR _summarize =
CALCULATETABLE(
SUMMARIZE(
'Reporting DimPosition',
[PositionID],
[PositionStartDate],
[PositionEndDate],
"total", [#TotalPossibleDays]
),
KEEPFILTERS( [#TotalPossibleDays] )
)
VAR _sumx =
SUMX( _summarize, [total] )
RETURN
IF(
HASONEVALUE( 'Reporting DimPosition'[PositionID] ),
[#TotalPossibleDays],
_sumx
)
Debe modificar este código para que se adapte a su modelo.
Saludos
Equipo de apoyo a la comunidad _ chenwu zhu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@helpa ,
Tienes que fechar diff entre
Sumx(table, datediff(max(minStartDate, Mindate), Min(Maxenddate, maxdate) ,day) )
Usa tus primeros 4 var y devuelve un sumx como este con filtro
Gracias por la respuesta @amitchandak
Creé la siguiente #TotalPossibleDaysNEW
Que devolvió por días cantidades que deberían ser 0.
Esto es lo que traté de ajustar con mis variables StartDate y EndDate en mi medida inicial.
Como si su PED fuera anterior al Período, deberíamos ignorarlo, y si su PSD es posterior al Período, deberíamos ignorarlo.
Ajusté lo anterior para tratar de eliminar esos aspectos negativos con
Sin embargo, el total sigue mostrando [Número de días en el mes] * 6163
Logré obtener la respuesta esperada al no usar MIN() y MAX() alrededor de PSD y PED
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.