Kalenderwoche im Analysis Services

Ich hatte ja gestern in meinem Blog geschrieben, wie man die deutsche KW im SQL Server berechnen kann. Wenn man darauf basierend eine Datumsdimension aufbaut, bieten sich natürlich zwei kanonische Hierarchien an:

  • Jahr > Quartal > Monat > Tag
  • Jahr > KW > Tag

Allerdings muss man dabei beachten, dass nur die erste eine echte Hierarchie ist. Die KW-Hierarchie ist nicht echt, da zwei Tage aus der selben KW in unterschiedlichen Jahren liegen können (z.B. 31.12.2008 und 1.1.2009 liegen beide in der KW 2009/01).

Deswegen darf man nicht einstellen, dass eine direkte Beziehung zwischen KW und Jahr besteht:

Also statt

Dimension Datum falsche Attributbeziehung

muss es so aussehen (man beachte die Attributbeziehungen der KW):

Dimension Datum KW richtige Attributbeziehungen

Deswegen kann man natürlich trotzdem beide Hierarchien angeben:

Gierarchien der Datumsdimension

(Das gelbe Dreieck gibt an, dass die Hierarchie nicht echt ist und deshalb nicht für Aggregationen verwendet werden kann)

Eine andere Alternative wäre, dass man unterschiedliche IDs und Namen für die KWs spendiert, die in einem anderen Jahr liegen, also beispielsweise:

  • 31.12.2008 liegt in der KW 2009 / 01 (in 2008)
  • 1.1.2009 liegt in der KW 2009 / 01

Damit wäre die KW-Hierarchie auch eine echte Hierarchie. Allerdings kann man dann die KW 2009 / 01 nicht mehr (so einfach) über Jahresgrenzen hinweg auswerten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert