Langsam Veränderliche Dimension Deutsch

From Theobald Software

Jump to: navigation, search

English Version: Slowly Changing Dimensions in SSIS

Bei der Extraktion einer Tabelle aus SAP ist eine häufig auftretende Aufgabenstellung, dass die Daten in der Zieltabelle auf dem SQL-Server schon vorhanden sind. In diesem Fall gilt es zu überprüfen, was mit diesen Daten geschehen soll. Mit der Datenfluss-Transformation "Langsam Veränderliche Dimension" besteht die Möglichkeit, Varianten der Veränderung festzulegen und die ankommenden Daten dem entsprechend zu verarbeiten.

In unserem Beispiel wollen wir die KNA1 Tabelle extrahieren. Die KNA1 beinhaltet die Kundendaten. Wir extrahieren einmalig die gesamten Daten der KNA1 in eine Zieltabelle auf unserer SQL-Datenbank. So haben wir den selben Stand in der Zieltabelle wie im SAP. Später wollen wir die Daten eines Kunden im SAP verändern und noch einen zusätzlichen neuen Kunden im SAP anlegen.

In einem neu erstellten Paket legen wir einen Datenflusstask, und die erforderlichen Connection Manager an. In diesem Datenflusstask erstellen wir eine XtractIS Table Komponente. Nach Einrichtung der Komponente für die Extraktion der KNA1 legen wir noch eine "Langsam Veränderliche Dimension" Transformation an, die wir mit dem Output der Xtract IS Komponente verknüpfen.

Mit einem Doppelklick auf die "Langsam Veränderliche Dimension" öffnet sich der Wizard der Komponente. Das erste Bild überspringen wir mit Klick auf den Next Button.

Im nächsten Bild des Dialogs wird die Zieltabelle ausgewählt und die Inputspalten mit den Zielspalten der Tabelle gemappt. Die Schlüsselspalten müssen als solche bekannt gegegeben werden. Wir definieren das Feld "KUNNR" (Kundennummer) als Schlüsselspalte.


Image:SCD03.jpg


Danach werden für jede Spalte die Änderungstypen festgelegt. Für unser Beispiel nehmen wir den Änderungstyp: Veränderliches Attribut (Changing Attribute).

Veränderliches Attribut überschreibt vorhandene Datensätze. Die "Langsam Veränderliche Dimension" Transformation prüft anhand des Schlüsselfeldes, ob der Datensatz in der Zieltabelle schon vorhanden ist. Wenn der Datensatz schon in unserer Zieltabelle existiert, werden die Felder in dem unten gezeigten Screenshot aktualisiert. Wenn der Datensatz nicht gefunden wird, wird der neue Datensatz an die Zieltabelle hinzugefügt.

Wir wollen alle Felder auf eine Veränderung überprüfen, dazu geben wir alle Felder an:


Image:Scd1.jpg


und im nächsten Dialogfeld setzen wir das Häckchen auf das Veränderliche Attribut, um die Transformation anzuweisen, die Daten zu ändern, wenn in den definierten Feldern veränderte Daten vorgefunden werden.

Im Dialogfeld für Abgeleitete Dimensionselemente belassen wir die Defaultwerte und gehen auf das nächste Dialogfeld welches wir mit Finish verlassen.

Der Assistent der "Langsam Veränderliche Dimension" erstellt folgenden Datenfluss :


Image:Scd2.jpg


Nun ändern wir einen Kunden im SAP und fügen noch einen neuen Kunden ein.

Wenn wir das SSIS Paket jetzt starten, bekommen wir genau diese 2 Datensätze zurück. Ein Changing Attributes Update Output, und eine New Row. Der Datensatz den wir im SAP verändert haben, und der neue im SAP als neuer Datensatz auf dem SQL Server.


Image:Scd4.jpg


Es sind noch weitere Änderungstypen möglich, welche hier nachgelesen werden können:

http://msdn.microsoft.com/en-us/library/ms141715.aspx

DeutschEnglish
Personal tools
Xtract PPS