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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Convierta el año de una tabla de fechas en ISO-Año

Hola

Tengo una tabla de fechas estándar como US-Standards. En Europa ISO - estándar es común. La primera semana del año debe tener al menos 4 días en enero. Entonces, según ISO, la primera semana de 2021 comienza el 4 de enero. Así que los tres primeros días de enero son 2020/53. Utilizo la función weeknum() con el tipo de retorno 21 para generar los números de semana correctos. Utilizo la función CombinedYearWeek= Calendar[Year]&"/"& format(WEEKNUM(Calendar[Date],21),"00")para generar una columna á la YYYY/WW, que resulta teniendo los años de este año, pero la calendarweek 53 pertenece a 2020. ¿Cómo puedo generar una columna como "ModifiedYear" en mi tabla de muestra, que todas las fechas obtengan el año correcto de acuerdo con ISO, para que pueda combinarlo con la función weeknum()correctamente?

FechaAño naturalSemanaWeeknum() Semana de año combinadaAño modificado
2021-01-0120210153 2021/532020
2021-01-0220210153 2021/532020
2021-01-0320210153 2021/532020
2021-01-0420210201 2021/012021

Lo que obtengo en su lugar se ve así, una segmentación de datos ordenada después de la fecha DESC:

Applicable88_0-1632481757940.png

Esto implicaría que la semana 53 pertenece a este año, lo cual es incorrecto, pertenece al año pasado, por lo tanto, 2020/53 debería ser correcto. Como no tengo datos después de la semana38, que es la semana de hoy, también es engañoso.

Espero que alguien tenga una solución.

Mejor.

1 ACCEPTED SOLUTION

Encontré una solución:

Primero necesitamos las semanas calendario correctas según ISO. Luego, el año se puede calcular a partir de esa columna de semana "correcta", con otra columna calculada:

ISOAño = AÑO('Fecha'[Fecha] + 26 - 'Fecha'[ISOWeekNumber])

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@Applicable88 , Trate de tomar el año desde la fecha de inicio de la semana

Lunes

Fecha de inicio de la semana = 'Fecha'[Fecha]+-1*WEEKDAY('Fecha'[Fecha],2)+1

Domingo

Fecha de inicio de la semana = 'Fecha'[Fecha]+-1*WEEKDAY('Fecha'[Fecha],2)+1

semana Año = año[Fecha de inicio de la semana])

Oh, @amitchandak,me equivoqué. Esa fórmula no va a funcionar, porque no se está adaptando que cada año cambia. Para este año podría funcionar, pero por ejemplo, cuando enero de 2019 realmente tuvo 4 días en la primera semana, los dos días restantes de diciembre de 2018, significa que el 30 y el 31 pertenecen al 2019, por lo tanto, son la semana calendario 2019/01 según ISO. ¿Algún otro método?

Encontré una solución:

Primero necesitamos las semanas calendario correctas según ISO. Luego, el año se puede calcular a partir de esa columna de semana "correcta", con otra columna calculada:

ISOAño = AÑO('Fecha'[Fecha] + 26 - 'Fecha'[ISOWeekNumber])

@amitchandak , muchas gracias! Por cierto, ¿para qué es el "+-*" y el "+1 al final?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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