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.
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?
Fecha | Año natural | Semana | Weeknum() | Semana de año combinada | Año modificado | |
2021-01-01 | 2021 | 01 | 53 | 2021/53 | 2020 | |
2021-01-02 | 2021 | 01 | 53 | 2021/53 | 2020 | |
2021-01-03 | 2021 | 01 | 53 | 2021/53 | 2020 | |
2021-01-04 | 2021 | 02 | 01 | 2021/01 | 2021 |
Lo que obtengo en su lugar se ve así, una segmentación de datos ordenada después de la fecha DESC:
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.
Solved! Go to 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])
@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?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |