Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Tengo estas variables
VAR ReportEndOfMonth = EOMONTH(DATE (YEAR(TODAY()), MONTH(TODAY()) -1, DAY(TODAY()) ), 0)
VAR ReportStartOfMonth = DATE (YEAR(ReportEndOfMonth), MONTH(ReportEndOfMonth) , DAY(1) )
ReportEndOfMonth me da 31/07/2022, que es correcto.
ReportStartOfMonth me da 31/07/2022, lo cual es incorrecto.
Si cambio ReportStartOfMonth a
VAR ReportStartOfMonth = DATE (YEAR(ReportEndOfMonth), MONTH(ReportEndOfMonth) , DAY(2) )
ReportStartOfMonth me da 01/07/2022.
¿Ideas de lo que va mal?
DAX tiene su propio cálculo DAY:
Función DAY (DAX) - DAX | Documentos de Microsoft
"Devuelve el día del mes, un número del 1 al 31".
A mi entender, lo estás alimentando DÍA(1). Los códigos de serie son los mismos entre Excel y PowerBI (por ejemplo, 44617 = 25/02/2022).
Lo que PowerBI está haciendo es tomar esto como [Valor serie 1] = 31/12/1899. Eso es el día que regresa (31/12/1899) que devuelve el día del mes (31). Esto también explica por qué el valor de serie 2 = 01/01/1900, y devuelve el día del mes (1).
Una solución simple debería ser enmendar su variable a esto:
VAR ReportStartOfMonth = DATE (YEAR(ReportEndOfMonth), MONTH(ReportEndOfMonth) , 1 )
Dentro de DAY(), debe haber una fecha o reemplazarla con 1 solo (en lugar de DAY(1))
Saludos
Ritesh