Erstellen von Historisierungsfeldern

Zum Erstellen von Historisierungsfeldern aus zeilenweise vorliegenden (Zeit)Faktdaten ist folgende Vorgehensweise möglich:

1. Filtern der Fakten (z.B. nach Auswertungszeitraum)
2. Aggregieren der Zeilen auf den die maximal gröbste Granularität, die allen zu erstellenden Historienfeldern gemeinsam ist (z.B. Monatswerte bei zu ermittelnden Vormonats-/Quartals-/Halbjahres-/Jahreswerten)
3. Erstellen der unaggregierten Historienfelder durch Zuordnen der Fakten zu der Historienperiode:
(Mehrfach)Ableitungsfeld
- Ableitunsgtyp "Bedingt"
- Feldnamenserweiterung sprechend für die Historie (z.b: _VM, _3M, _6M, _12M,...)
- Feldtyp "Stetig"
- Wenn-Bedingung (Datumsformat bereits gewandelt in 'JJJJMM'-Integer )


_VM:

STICH_MONAT = to_integer(if PREDIKTORMONAT mod 100 = 1

then ((PREDIKTORMONAT div 100)-1)*100 + 12

else PREDIKTORMONAT - 1 endif)


_3M:

STICH_MONAT > (if PREDIKTORMONAT mod 100 < 4

then ((PREDIKTORMONAT div 100)-1)*100 + 9 + PREDIKTORMONAT mod 100
else PREDIKTORMONAT - 3 endif)

and STICH_MONAT <= PREDIKTORMONAT

_6M:

STICH_MONAT > (if PREDIKTORMONAT mod 100 < 7
then ((PREDIKTORMONAT div 100)-1)*100 + 6 + PREDIKTORMONAT mod 100
else PREDIKTORMONAT - 6 endif) and STICH_MONAT <= PREDIKTORMONAT 

_12M:

STICH_MONAT > (((PREDIKTORMONAT div 100)-1)*100 + PREDIKTORMONAT mod 100)

and STICH_MONAT <= PREDIKTORMONAT


- Dann-Bedingung @FIELD
- Sonst-Bedingung: 0
4. Summieren der Historienfelder, Gruppierung auf den bisher bzw. künftig verwendete Audit-Level (z.B. KUNDE_NR) als Schlüssel-Feld (Datensatzanzahl wird nicht benötigt. Will man Events (z.B. Umsätze/Einlieferungen) innerhalb der Historie zählen, sind vorher entsprechende Kennzeichen (z.B. Ableitungsfeld mit 1 als Wert) zu erstellen und wie in 3 beschrieben anzupassen
5. Anspielen (left join) der Aggregate über den Audit-Level als Schlüssel an die bisherige Basis
6. Imputieren fehlender Werte bei den Basiszeilen (z.B. umsatzlose Kunden) mit 0
- Füller-Node
- Ersetzen: "Leere Werte und Nullwerte"
- Ersetzen mit: 0