ISO 8601 Kalenderwoche in DAX mit verstecktem Parameter berechnen
This post is also available in: Englisch
Frohes neues Jahr an alle meine Leser!
Die erste Herausforderung in diesem Jahr ist die korrekte Berechnung der Kalenderwoche. Denn in diesem Jahr haben wir wieder den Fall, dass sich die Kalenderwochen zwischen Amerika und Europa unterscheiden.
Unterschiedliche Berechnung der Kalenderwoche zwischen Nordamerika und Europa
Während in Nordamerika immer die erste Woche des neuen Jahres als KW 1 definiert ist, orientiert sich Europa am ISO Standard 8601. Nach der ISO Berechnung in Europa und Asien ist die erste Woche im neuen Jahr, welche 4 oder mehr Tage beinhaltet, als KW 1 definiert. In den USA und Kanada kann es auch eine halbe Woche als KW 1 geben.
In 2021 ist in Amerika somit die erste Woche des neuen Jahres geteilt:
In Europa ist die erste Woche mit 4 vollen Tagen als erste Kalenderwoche des Jahres definiert:
Berechnung mit der WEEKNUM Funktion
Grundsätzlich kann die Kalenderwoche mit Hilfe der WEEKNUM Funktion in DAX berechnet werden. Die Syntax lautet folgendermaßen:
WEEKNUM(<date>, <return_type>)
Der erste Parameter <date> ist das Datum. Der <return_type> ist laut offizieller Dokumentation entweder eine 1, wenn die neue Woche an einem Sonntag startet oder eine 2, wenn die neue Woche am Montag startet.
return_type 21 für ISO 8601 Format
Es gibt allerdings noch einen weiteren Wert für den Parameter, welcher in der Dokumentation nicht erwähnt wird. Wenn wir als <return_type> den Wert 21 angeben, wird die Kalenderwoche im ISO 8601 Format, also dem europäischem, asiatischen und ozeanischen Format, zurückgegeben. Die Woche startet nach ISO ohnehin am Montag.
WEEKNUM([Date], 21)
Hier die 3 Werte im Vergleich:
Zusammenfassung
Wir können mit der WEEKNUM Funktion also alle 3 Möglichkeiten der Kalenderwoche abbilden:
- Mit 1 als <return_type> im nordamerikanischen Format und Wochenstart Sonntag.
- Mit 2 als <return_type> im nordamerikanischen Format und Wochenstart Montag.
- Mit 21 als <return_type> europäischen ISO Format und Wochenstart Montag.