Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola a todos
Me enfrento a un problema de Power BI de los últimos días. Necesito calcular el cálculo del período personalizado. Como en tengo un campo de fecha y el cálculo del mes debe ser el primer domingo de un mes hasta el último sábado, esto a veces podría ir para el mes siguiente ya que el período es de domingo a sábado.
Fecha |
12-08-2020 |
01-08-2020 |
06-08-2020 |
01-08-2020 |
31-07-2020 |
28-07-2020 |
20-06-2020 |
21-08-2020 |
04-09-2020 |
13-06-2020 |
05-09-2020 |
25-08-2020 |
16-06-2020 |
27-06-2020 |
18-06-2020 |
Por ejemplo, en mi calc agosto debe ser del 2 de agosto (primer domingo del mes) al 5 de septiembre (último sábado) y julio debe ser del 5 de julio al 1 de agosto.
Por favor, ayúdame con esta solución.
Gracias de antemano.
Solved! Go to Solution.
Hola @rbh2001 ,
Primero crea una tabla de calendario-dim, luego crea una relación entre el calendario y la tabla de hechos;
A continuación, cree una columna como se muestra a continuación:
weekday = WEEKDAY('Table'[Date],2)
Y 2 medidas como se indica a continuación:
FirstSunday =
CALCULATE(MIN('Table'[Date]),FILTER(ALL('Table'),'Table'[weekday]=7&&MONTH('Table'[Date])=MONTH(MAX('Table'[Date]))))
Last Saturday =
var _lastday=EOMONTH(MAX('Table'[Date]),0)
var _weekday=WEEKDAY(_lastday,2)
Return
IF(_weekday<6,CALCULATE(MAX('Calendar-Dim'[Date]),DATEADD(ENDOFMONTH('Calendar-Dim'[Date]),6-_weekday,DAY),ALL('Calendar-Dim'[Date])),CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'),_weekday>=6&&MONTH('Table'[Date])=MONTH(MAX('Table'[Date])))))
Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Hola @rbh2001 ,
Primero crea una tabla de calendario-dim, luego crea una relación entre el calendario y la tabla de hechos;
A continuación, cree una columna como se muestra a continuación:
weekday = WEEKDAY('Table'[Date],2)
Y 2 medidas como se indica a continuación:
FirstSunday =
CALCULATE(MIN('Table'[Date]),FILTER(ALL('Table'),'Table'[weekday]=7&&MONTH('Table'[Date])=MONTH(MAX('Table'[Date]))))
Last Saturday =
var _lastday=EOMONTH(MAX('Table'[Date]),0)
var _weekday=WEEKDAY(_lastday,2)
Return
IF(_weekday<6,CALCULATE(MAX('Calendar-Dim'[Date]),DATEADD(ENDOFMONTH('Calendar-Dim'[Date]),6-_weekday,DAY),ALL('Calendar-Dim'[Date])),CALCULATE(MAX('Table'[Date]),FILTER(ALL('Table'),_weekday>=6&&MONTH('Table'[Date])=MONTH(MAX('Table'[Date])))))
Y verás:
Para el archivo .pbix relacionado, pls ver adjunto.
Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
@rbh2001 nuevas columnas
Fórsy Sunday -- Se requiere algún +/- 1 día
Nueva columna ?
var _st á eomonth([Fecha], -1)
devolución
eomonth([Fecha], -1) +7 -WEEKDAY(_st,2)
El sábado pasado
Nueva columna ?
var _st á eomonth([Fecha], 0)
devolución
eomonth([Fecha], -1) -WEEKDAY(_st,2)
Hola
Gracias por su respuesta, pero el sábado pasado no es el sábado pasado del mes. Por favor refiérase a mi ejemplo. El último sábado de la semana donde está la última fecha del mes. Por ejemplo, para agosto, el sábado pasado debe considerarse como 5 de septiembre como el 31 de agosto fue el lunes, por lo que tenemos que tomar esa semana, cualquiera que sea la fecha es el último sábado.
Por favor, hágamelo saber si todavía tiene alguna duda.