Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Tengo una mesa dashbord con una comparación diaria entre dos meses.
ex: PrevMthByDay ? CALCULATE([TotalRevenue],DATEADD(tbDate[Date],-1,MONTH))
Si el mes actual es mayo (31 días) entonces se comparará con abril (30 días). En la tabla de visualización del panel, en la columna mes anterior (abril), se repite el valor.
ex :
Fecha Del mes actual Mes anterior
30 de mayo 1000$ 500$ (30 de abril)
31 de mayo de 2000$ 500$ (31 de abril no existe, se repite el valor anterior)
TOTAL 3000$ 500$ (el Total es bueno)
¿Sería posible tener en blanco, cero o N/A?
Gracias por tu ayuda
Solved! Go to Solution.
Interesante, eso sólo significa que el mes que seleccionó tiene más día que el mes prvious por lo que la fila total se está quedando atrapada también. Podemos arreglarlo haciendo sólo el cheque cuando estamos mirando un valor de fecha única como así:
Prior Month Paid Amount =
VAR _MonthDay =
DAY ( SELECTEDVALUE ( DATES[Date] ) )
VAR _PMMonthDay =
CALCULATE (
DAY ( SELECTEDVALUE ( DATES[Date] ) ),
DATEADD ( DATES[Date], -1, MONTH )
)
RETURN
IF (
_MonthDay > _PMMonthDay && HASONEFILTER(DATES[Date]),
BLANK (),
CALCULATE ( [paid amount], DATEADD ( DATES[Date], -1, MONTH ) )
)
La adición de && HASONEFILTER(DATES[Date]) en IF solo devuelve BLANK() si estamos en una línea de un solo día.
Hola @SylBell01
Puede, tengo una columna en mi tabla Fechas que es el [Número de día del mes]. Puedo usar eso y comparar el número del día actual del mes al número del mes anterior del mes del mes y si el actual es > el show anterior en blanco.
Prior Month Paid Amount =
VAR _MonthDay =
MAX ( DATES[Day of Month Number] )
VAR _PMMonthDay =
CALCULATE (
MAX ( DATES[Day of Month Number] ),
DATEADD ( DATES[Date], -1, MONTH )
)
RETURN
IF (
_MonthDay > _PMMonthDay,
BLANK (),
CALCULATE ( [paid amount], DATEADD ( DATES[Date], -1, MONTH ) )
)
Puede ver que la cantidad funciona para 3/28 pero está en blanco para 3/29 - 3/31:
Si no quieres meterte en la adición de una columna a tu tabla de calendario, también puedes hacerlo usando la función DAY y comparándolos en su lugar:
Prior Month Paid Amount =
VAR _MonthDay =
DAY ( SELECTEDVALUE ( DATES[Date]) )
VAR _PMMonthDay =
CALCULATE (
DAY ( SELECTEDVALUE ( DATES[Date]) ),
DATEADD ( DATES[Date], -1, MONTH )
)
RETURN
IF (
_MonthDay > _PMMonthDay,
BLANK (),
CALCULATE ( [paid amount], DATEADD ( DATES[Date], -1, MONTH ) )
)
Interesante, eso sólo significa que el mes que seleccionó tiene más día que el mes prvious por lo que la fila total se está quedando atrapada también. Podemos arreglarlo haciendo sólo el cheque cuando estamos mirando un valor de fecha única como así:
Prior Month Paid Amount =
VAR _MonthDay =
DAY ( SELECTEDVALUE ( DATES[Date] ) )
VAR _PMMonthDay =
CALCULATE (
DAY ( SELECTEDVALUE ( DATES[Date] ) ),
DATEADD ( DATES[Date], -1, MONTH )
)
RETURN
IF (
_MonthDay > _PMMonthDay && HASONEFILTER(DATES[Date]),
BLANK (),
CALCULATE ( [paid amount], DATEADD ( DATES[Date], -1, MONTH ) )
)
La adición de && HASONEFILTER(DATES[Date]) en IF solo devuelve BLANK() si estamos en una línea de un solo día.
Wow funciona perfectamente. Muchas gracias.
¿Sería posible hacerle otra pregunta relacionada con un problema similar?
Deberías publicarlo como un nuevo tema de esa manera hace que más personas lo vean. Alguien aparte de mí puede tener una mejor respuesta para tu próxima pregunta.