cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Cambiar de WEEKNUM a rango de tiempo

Hola querida comunidad,

Me gustaría crear una nueva columna en mi tabla de calendario que proporcione el rango de tiempo en lugar del número de semana. Por ejemplo:

Para la semana número 1 de 2023, obtendremos un valor como "02/01 a 08/01".

ChatGPT intentó darme esta solución, que solo funciona durante el primer año 2023:

Rango =
DÓNDE FirstDateOfWeek =
BRIBONA(
FILTRO(
Calendario
Calendario[Semana] = ANTERIOR(Calendario[Semana])
),
Calendario[Fecha]
)
DÓNDE LastDateOfWeek =
MAXX(
FILTRO(
Calendario
Calendario[Semana] = ANTERIOR(Calendario[Semana])
),
Calendario[Fecha]
)
DÓNDE LastDateOfWeekMinusOne =
LastDateOfWeek - 1
DÓNDE LastDateOfYear =
CALCULAR(
..MAX(Calendario[fecha]),
CALENDARIO[Año] = ..MAX(Calendario[Año])
)
DEVOLUCIÓN
"Desde " & FORMATO(FirstDateOfWeek, "dd/MM") & " a " &
SI(
LastDateOfWeek = LastDateOfYear,
FORMATO(LastDateOfWeek, "dd/MM"),
FORMATO(LastDateOfWeekMinusOne, "dd/MM")
)
¿Alguien aquí conoce una forma elegante de proporcionar esta columna de rango para cada año en un calendario muy grande?
Muchas gracias por su lectura,
LZ
3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Muchas gracias Greg! Tu código funciona muy bien... hasta el cambio de año! Para todas las semanas en 2023 se escribe el rango de tiempo correcto, pero para la primera semana de 2024, el valor de la nueva columna es "01/01 a 31/12". ¿Cómo puedo corregirlo? Si tienes una idea.

Syndicate_Admin
Administrator
Administrator

@LZNPM Probar:

Range = 
    VAR __WeekNum = [WeekNum]
    VAR __Year = YEAR([Date])
    VAR __Min = MINX(FILTER('Dates', [WeekNum] = __WeekNum && YEAR([Date]) = __Year), [Date])
    VAR __Max = MAXX(FILTER('Dates', [WeekNum] = __WeekNum && YEAR([Date]) = __Year), [Date])
    VAR __Return = FORMAT(__Min, "dd/MM") & " to " & FORMAT(__Max, "dd/MM")
RETURN
    __Return
Syndicate_Admin
Administrator
Administrator

@LZNPM Probar:

Range = 
    VAR __WeekNum = [WeekNum]
    VAR __Min = MINX(FILTER('Dates', [WeekNum] = __WeekNum), [Date])
    VAR __Max = MAXX(FILTER('Dates', [WeekNum] = __WeekNum), [Date])
    VAR __Return = FORMAT(__Min, "dd/MM") & " to " & FORMAT(__Max, "dd/MM")
RETURN
    __Return

Helpful resources

Announcements
Join Arun Ulag at MPPC23

Join Arun Ulag at MPPC23

Get a sneak peek into this year's Power Platform Conference Keynote.

PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Top Solution Authors