Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Cómo calcular meses personalizados con fechas flexibles

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.

1 ACCEPTED SOLUTION
v-kelly-msft
Community Support
Community Support

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:

Screenshot 2020-10-01 115656.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

View solution in original post

3 REPLIES 3
v-kelly-msft
Community Support
Community Support

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:

Screenshot 2020-10-01 115656.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

amitchandak
Super User
Super User

@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)

Anonymous
Not applicable

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.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors