SCD Typu 2
W modelu wolno zmieniających się wymiarów typu 2 (SCD Type 2) kompletna historia zmian jest przechowywana w bazie danych. Wraz z kolejną zmianą jakiegokolwiek z wymiarów, tworzony jest dodatkowy rekord w tabeli wymiarów. W tym modelu tabela bazy danych zawiera przeważnie pola 'data efektywna' i 'rekord bieżący', za pomocą których można w łatwy sposób śledzić historię zmian.
Implementacja SCD 2 w Datastage
Job opisany i przedstawiony poniżej pokazuje jak zaimplementować wolno zmieniające się wymiary typu 2 (SCD Type 2) w Datastage. Jest to jedna z wielu możliwych architektur pozwalających na zaimplementowanie tego zagadnienia. Poniższy przykład bazuje na jobie ładującym klientów do hurtowni danych.
Tabela wymiarów D_CUSTOMER przed ładowaniem
| CUST_ID |
CUST_ NAME |
CUST_ GROUP_ID |
CUST_ TYPE_ID |
CUST_ COUNTRY_ID |
REC_ VERSION |
REC_ EFFDT |
REC_ CURRENT_IND |
| DRBOUA7 |
Dream Basket |
EL |
S |
PL |
1 |
2006-10-01 |
Y |
| ETIMAA5 |
ETL tools info |
BI |
C |
FI |
1 |
2006-09-29 |
Y |
| FAMMFA0 |
Fajatso |
FD |
S |
CD |
1 |
2006-09-27 |
Y |
| FICILA0 |
First Pactonic |
FD |
C |
IT |
1 |
2006-09-25 |
Y |
| FRDXXA2 |
Frasir |
EL |
C |
SK |
1 |
2006-09-23 |
Y |
| GAMOPA9 |
Ganpa LTD. |
FD |
C |
US |
1 |
2006-09-21 |
Y |
| GGMOPA9 |
GG electronics |
EL |
S |
RU |
1 |
2006-09-19 |
Y |
| GLMFIA6 |
Glasithklini |
FD |
S |
PL |
1 |
2006-09-17 |
Y |
| GLMPEA9 |
Globiteleco |
TC |
S |
FI |
1 |
2006-09-15 |
Y |
| GONDWA5 |
Goli Airlines |
BN |
S |
GB |
1 |
2006-09-13 |
Y |
SCD2 architektura 
Najciekawsze elementy joba CUST_SCD2:
W naszym przykładzie tabela wymiarów z danymi o klientach jest codziennie odświeżana i jednym ze źródeł zasilających ją jest ekstrakt, który ma postać pliku płaskiego. W przykładzie klient o wartości CUST_ID=ETIMAA5 różni się od tego, który przechowywany jest w bazie danych i jest to jedyny rekord ze zmienionymi danymi. Ekstrakt ma następującą strukturę:
SCD 2 – ekstrakt dane klientow : 
Plik haszowany (Hash_NewCust) wyszukuje i łączy dane pochodzące z pliku tekstowego
Transformer T001_Lookups znajduje dane w pliku hash i mapuje nową i starą wartość do oddzielnych kolumn.
SCD 2 transformer wyszukiwanie  W transformerze T002_Check_Discrepacies_exist stare i nowe wartości są porównywane i z transformera wychodzą tylko te dane, które się różnią.
SCD 2 transformer identyfikacja roznic 
Transformer T003 zarządza aktualizacją danych w bazie danych (dokonywany jest UPDATE lub INSERT). W starym rekordzie flaga ‘current indictator‘ czyli ‘rekord bieżący’ zostaje ustawiona na ‘no’, natomiast nowy rekord od tej pory jest bieżący czyli flaga ‘current indicator’ jest ustawiona na no. Dodatkowo, wersja nowego rekordu zostaje zwiększona o 1 oraz ustawiona data bieżąca.
SCD 2 insert-update 
Aktualnizacja bazy danych odbywa się poprzez ODBC Update stage (O_DW_Customers_SCD2_Upd) – wybrana akcja 'Update existing rows only' oraz wybrane zostają kolumny kluczowe CUST_ID i REC_VERSION . Spowoduje to pojawienie się tych kolumn w części where zbudowanego automatycznie polecenia SQL.
ODBC Insert stage (O_DW_Customers_SCD2_Ins) – wybrana akcja 'insert rows without clearing' oraz kluczowa kolumna CUST_ID.
Tabela wymiarów D_CUSTOMER po uaktualnieniu Hurtowni Danych
| CUST_ID |
CUST_ NAME |
CUST_ GROUP_ID |
CUST_ TYPE_ID |
CUST_ COUNTRY_ID |
REC_ VERSION |
REC_ EFFDT |
REC_ CURRENT_IND |
| DRBOUA7 |
Dream Basket |
EL |
S |
PL |
1 |
2006-10-01 |
Y |
| ETIMAA5 |
ETL tools info |
BI |
C |
FI |
1 |
2006-09-29 |
N |
| FAMMFA0 |
Fajatso |
FD |
S |
CD |
1 |
2006-09-27 |
Y |
| FICILA0 |
First Pactonic |
FD |
C |
IT |
1 |
2006-09-25 |
Y |
| FRDXXA2 |
Frasir |
EL |
C |
SK |
1 |
2006-09-23 |
Y |
| GAMOPA9 |
Ganpa LTD. |
FD |
C |
US |
1 |
2006-09-21 |
Y |
| GGMOPA9 |
GG electronics |
EL |
S |
RU |
1 |
2006-09-19 |
Y |
| GLMFIA6 |
Glasithklini |
FD |
S |
PL |
1 |
2006-09-17 |
Y |
| GLMPEA9 |
Globiteleco |
TC |
S |
FI |
1 |
2006-09-15 |
Y |
| GONDWA5 |
Goli Airlines |
BN |
S |
GB |
1 |
2006-09-13 |
Y |
| ETIMAA5 |
ETL-Tools.info |
BI |
C |
ES |
2 |
2006-12-02 |
Y |
|