- IKM Oracle Slowly Changing Dimension
- IKM Teradata Slowly Changing Dimension
- IKM DB2 400 Slowly Changing Dimension
- IKM DB2 UDB Slowly Changing Dimension
- IKM MSSQL Slowly Changing Dimension
- IKM Sybase ASE Slowly Changing Dimension
- IKM Sybase IQ Slowly Changing Dimension
- ...
Jak využít „IKM Oracle Slowly Changing Dimension“
1/ Do stávajícího/nového projektu naimportujte Knowledge Modul „IKM Oracle Slowly Changing Dimension“, podrobnosti jak vytvořit projekt a nahrát KM najdete zde.
2/ V „IKM Oracle Slowly Changing Dimension“ verze 4.0 z DEC-2004 je potřeba v kroku „252 Historize old rows“ vypnout volbu „Jurnalize table in the Stage area“
3/ Do Modelu naimportujte Vaší stávající cílovou dimenzi (jak na to viz. zde) nebo ji v ODI manuálně založte a nechte vytvořit v databázi (jak na to viz. zde)
Dimenze musí mít povinné sloupce, které určují: PK dimenze, PK zdroje, Označení aktuálnosti záznamu, Datum od a Datum do kdy záznam platí, příklad:
4/ Každý sloupec cílové dimenze je potřeba označit SCD příznakem, který určuje jeho chování. K dispozici je označení jako:
- Surrogate Key – klíč cílové dimenze
- Natural Key – klíč zdrojového záznamu
- Overwrite on Change – při změně hodnoty sloupce dojde pouze k přepsání staré hodnoty na novou
- Add Row on Change – při změně hodnoty sloupce dojde k ukončení platnosti stávajícího záznamu a k založení nového platného záznamu
- Current Record Flag – označení aktuálního a předcházejícího záznamu
- Starting Timestamp – datum platnosti od
- Ending Timestamp – datum platnosti do
Postupně vyberte jednotlivé sloupce dimenze a na záložce Description jim nastavte chování v rámci SCD.
V mém případě:
- Surrogate Key = PK_DIM_ACC
- Natural Key = PK_SOURCE
- Overwrite on Change = DESCRIPTIONS
- Add Row on Change = NAME
- Current Record Flag = CURREC_FLG
- Starting Timestamp = DATE_FROM
- Ending Timestamp = DATE_TO
- Surrogate Key (Primární klíč dimenze) namapujte na databázovou sequenci (musí existovat v db – tj. musíte ji manuálně založit), provádění transformace změňte na „Target“ a odškrtněte volbu „Check Not Null“ (podrobnosti viz. popis pro Knowledge Modul)
- Current Record Flag nastavte na konstantu 1
- Starting Timestamp nastavte na SYSDATE
- Ending Timestamp nastavte na to_date('1.1.2400','dd.mm.yyyy')
6/ Na záložce „Flow“ klikněte na oblast „Target+Staging“, vyberte IKM Oracle Slowly Changing Dimension a nastavte volbu „No“ pro FLOW_CONTROL (podrobnosti viz. popis pro Knowledge Modul).
7/ Na záložce „Controls“ vypněte kontrolu datové kvality pro Primární klíč.
Spuštění
I. Spusťte Interface a zkontrolujte výsledek
II. Po prvním spuštění se naplní cílová dimenze stejným obsahem jako jsou zdrojová data. Veškeré záznamy budou mít přidělené vlastní PK + identifikační PK zdroje, všechny záznamy jsou aktuální (CURREC_FLG=1) s platností od „teď“ do 1.1.2400.
III. Pozměňte data na zdroji
IV. Opět spusťte Interface a zkontrolujte výsledek
V. Po druhém spuštění došlo:
- ukončila se platnost záznamu s NAME=205011 (PK_SOURCE=1, PK_DIM_ACC=241, CURREC_FLG=0 a DATE_TO je ukončen na „teď“), místo toho byl založen nový záznam s NAME=2050111 (PK_SOURCE=1 ale PK_DIM_ACC=261, CURREC_FLG=1 a DATE_TO je 1.1.2400)
- změnil se popis u záznamu s NAME=205014
- vznikl nový záznam s NAME=205066
- a záznam s NAME=205012, který na zdroji zanikl, stále existuje
Erik Eckhardt.
Žádné komentáře:
Okomentovat