Zum Hauptinhalt springen

Anpassen des Knowledge Modules IKM Oracle Slowly Changing Dimension

Im ersten Teil des ODI Blogs wurde gezeigt, wie man mithilfe des Knowledge Modules IKM Oracle Slowly Changing Dimension eine Slowly Changing Dimension in ODI umsetzen kann.

Das Knowledge Module IKM Oracle Slowly Changing Dimension deckt schon viele Anwendungsfälle ab. So werden zum Beispiel neue Datensätze gegen die bereits bestehenden geprüft. Bei Änderungen kann automatisch ein neuer Datensatz erstellt (SCD2) oder der bestehende Datensatz überschrieben werden (SCD1).

Sollen jedoch technische Felder wie die ID des Ladejobs oder der Insert- bzw. Updatezeitpunkt gepflegt werden oder möchte man einen anderen SCD_END-Standardwert verwenden, kommt das KM an seine Grenzen.

Hier kommt der Vorteil von ODI zum Tragen, die Knowledge Modules beliebig anpassen zu können.

Anpassen des VALID_TO-Datums

Wird ein unbegrenzt gültiger Datensatz geschrieben, so wird das SCD_END-Datum auf den 01.01.2400 gesetzt. In vielen Umgebungen ist aber ein anderer Standardwert definiert (z. B. der 31.12.9999).

Um möglichst flexibel zu sein, setzen wir nicht einfach ein neues SCD_END-Datum, sondern führen eine neue Option in das Knowledge Module ein.

Dazu wird das Knowledge Module geöffnet und der Reiter Options ausgewählt.

 

knowledge-module-ikm-reiter-options

 

Und über Plus legen wir eine neue Option an.

 

knowledge-module-ikm-neue-option

 

Diese wird als Type Text mit dem Namen SCD_END_DATE angelegt und mit dem gewünschten Datumswert belegt.

 

knowledge-module-ikm-datumswert

 

Danach wechseln wir in den Tasks-Reiter und klappen den Baum bei Execution Unit Main auf.

 

knowledge-module-ikm-execution-unit-main

 

Geändert werden müssen folgende Tasks:

  • Update existing rows
  • Historize old rows
  • Insert changing and new dimensions

Ersetzt wird jeweils der Wert:

01-01-2004

Durch:

<%=odiRef.getOption("SCD_END_DATE")%>

Zum Beispiel Änderung von:

 

knowledge-module-ikm-code-aenderung

 

nach:

 

knowledge-module-ikm-code-aenderung-ergebnis

 

Mit dieser Änderung kann das SCD_END-Datum beliebig gewählt und an die Bedürfnisse einer vorhandenen Architektur angepasst werden.

Es muss nur darauf geachtet werden, dass das Datum im korrekten Format angegeben wird, in diesem Fall also als 'mm-dd-yyyy'.

Lesen Sie im nächsten Teil dieses Blogs "Anpassen des Knowledge Modules IKM Oracle Slowly Changing Dimension - Teil 2", wie man auch im IKM Slowly Changing Dimension technische Felder wie Ladelauf-ID oder Insert- bzw. Updatezeitstempel korrekt behandeln lassen kann.