Schlagwort-Archive: mapping

ERwin Tipp #001

Source-To-Target-Mapping erstellen

Eine wesentliche Aufgabe in BI Projekten ist die Erstellung einer sogenannten „Source-To-Target Mapping“ (kurz: STT). R. Kimball nennt sie in seinen Werken auch gerne „Logical Data Map“ (LDM). Die STT Map definiert, wie die vom Fachbereich angeforderten, analytisch relevanten Attribute bewirtschaftet werden. Sie beschreibt pro Attribut aus welchen Quellsystem-Attributen die Informationen geladen werden sollen und ob ggfls. eine Transformationen auf die ursprüngliche Informationen angewendet werden soll. Dieser Artikel beschreibt wie mit Hilfe von ERwin Data Modeler ein Source-To-Target Mapping während der Modellierung in ERwin abgebildet werden kann.

Doch bevor die Umsetzung im Detail beschrieben wird, noch ein paar Anmerkungen, welchen Nutzen dies bringen kann. Grundsätzlich ist es ja meist so, dass der Business Analyst im Rahmen seiner Tätigkeit zunächst ein logisches Datenmodell und daraus abgeleitet ein physisches Datenmodell erstellt. ERwin kann eine STT Map nur für ein physisches Datenmodell abbilden – obwohl dies bereits auch für ein logisches Datenmodell Sinn machen würde. Durch die Abbildung einer STT bereits im Datenmodell können Abhängigkeitsanalysen („Impact Analysis“) gefahren werden, um z.Bsp. im späteren Betrieb erkennen zu können, welche Auswirkung die Änderungen einer Quellsystem-Schnittstelle auf die Data Marts des BI-Systems haben. Sind die relevanten Informationen einmal eingepflegt, so kann die eigentliche Abhängigkeitsanalyse leicht mittels SQL Zugriff auf das ERwin Repository ausgeführt werden. Glücklicherweise ist seit ERwin v8 das Repository via SQL „frei“ zugänglich.

Ein weiterer Vorteil ist, das bereits während der Entwicklungsphase durch den Business Analysten tool-unterstützt eine STT Map als Arbeitsanweisung für den ETL-Entwickler generiert werden kann. Diese Arbeit steht in jedem Fall auf der to-do Liste des Analysten – da er diese Information im Rahmen der Spezifikationserstellung dokumentieren muss. Woher soll der ETL-Entwickler sonst wissen, mit welchen Daten nach welchen Regeln welches Attribut zu bewirtschaften ist?

Vielfach werde ich gefragt, „Gehört denn diese Informationen überhaupt in ein Datenmodell?“. Ich sage „Ja!“. Denn im Datenmodell ist diese Information wesentlich besser „platziert“ – weil verknüpft – als in einem Textdokument; dort veraltet die Information auch am schnellsten. Diese Dokumentation steht auch nicht in „Konkurrenz“ von Metadaten-Werkzeugen wie zum Bsp. „Informatica Metadata Manager“. Die STT Dokumentation im Datenmodell ist sinnvoll, weil das Datenmodell ein sehr wichtiges Kommunikationsmedium gegenüber dem Fachbereich darstellt. Dieser benötigt eine STT Information, die er „verstehen“ kann – also beispielsweise eine Transformationslogik in natürlicher Sprache oder in Pseudo-Code Schreibweise.

Bsp. "Wenn Quellsystemattribut A gleich "23" 
dann speichere "Premium-Artikel" 
sonst speichere "Standard-Artikel"

Die auf dem Markt angebotenen Metadaten Integrationswerkzeuge, die sämtliche Metadaten-Inseln der BI Landschaft „anzapfen“ und integrieren, stehen hierzu nicht in Konkurrenz. Die extrahierte Transformationslogik eines ETL Mappings aus Informatica PowerCenter zum Bsp. ist für einen Fachbereichsmitarbeiter nicht interpretierbar. Typische Metadaten-Inseln einer BI-Landschaft sind bspw. das ETL-Repository von Informatica, der Content-Store von Cognos, der IBM DB2 System-Catalog oder das Datenmodellierungsrepository von Erwin.

Die Aktualität der dokumentierten STT Informationen kann durch einen entsprechenden Prozess sichergestellt werden, d.h. durch eine Organisationsmaßnahme.

Jetzt zur eigentlichen Umsetzung in Erwin. Zunächst muss für das Datenmodell, in dem eine STT Information hinterlegt werden soll, die „Data Movement“ Option aktiviert werden.

erwin, model prop. data movement

Erst dann steht der Menu-Eintrag „Data Sources“ zur Verfügung:

erwin, data source editor, 01

Durch Klick auf das Symbol für Neuanlage, wird eine neue „Data Source“ angelegt:

erwin, data source editor, 02

Im Beispiel heißt die neue „Data Source“, „Quellsystem SAP“. Nun stehen 3 Möglichkeiten bereit, Quellsystem-Informationen auf Attribut-Ebene in das Datenmodell zu übernehmen: Option 1: Manuelle Eingabe (nicht zu empfehlen). Option 2: Import einer CSV Datei (bedingt zu empfehlen). Option 3: „Import Other“ – mit dieser Funktion lassen sich die Informationen anderer ERwin Modelle in das Zieldatenmodell importieren. So könnte man z.B. ein Reverse-Engneering auf ein Quellsystem durchführen und als ERwin Modell abspeichern. Die Metainformationen dieses Quellsystemmodells können dann in das Zielmodell importiert werden. Hierbei entsteht keine Verlinkung – die Metadaten des Quellmodells können ausschließlich importiert werden.

erwin, data source editor, 03

Es öffnen sich Dialoge, die ähnlich den Dialogen der „Model Compare“ Funktion sind. Das linke Modell ist immer das „Target“-Modell. Das rechte wird geöffnet – entweder als Datei oder aus dem Erwin-MART (das Repository):

erwin, data source editor, 04

Über „Type Selektion“ kann man noch die Detailtiefe der zu importierenden Metadaten bestimmen:

erwin, data source editor, 05

In der Ansicht „Left Object Selection“ kann man bestimmten, welcher „Data Source“ die zu importierenden Metadaten zugeordnet werden sollen. Wir wählen unseren Beispieleintrag „Quellsystem SAP“:

erwin, data source editor, 06

Es folgt der bekannte „Abgleichsdialog“. Hier muss man nicht großartig „nachdenken“. In der Regel übernimmt man alles von rechts nach links. Was man möglicherweise zuviel importiert hat, kann man im Target-Modell wieder später leicht löschen:

erwin, data source editor, 07

Als Ergebnis bekommt man im „Data Source“ Editor die importierten Quellsystem-Tabellen angezeigt. Neben dem Tabellennamen wurden auch Attributnamen, Datentyp und Spaltenkommentar übernommen (falls im Quellmodell vorhanden …):

erwin, data source editor, 08

Jetzt kommt die eigentliche Arbeit – die Zuordnung von Quellsysteminformationen zu Zielattributen. Im Beispiel soll die Tabelle „Beispiel_Tabelle“ die STT Informationen aufnehmen:

erwin, data source editor, 09

Ansicht „Column Editor“, Registerkarte „Data Soruce“. Im Feld „DS Comment“ kann  Transformationslogik in Pseudo-Code Formulierung dokumentiert werden. Im Feld „Data Soruces“ kann kein Freitext eingeben werden, sondern durch Klick auf den rot markierten Button, können beliebig viele Quellsystem-Attribute aus den zuvor importierten Metadaten ausgewählt werden:

erwin, data source editor, 10

Beispiel für die Auswahl eines Quellsystem-Attributs:

erwin, data source editor, 11

Hier ein Ergebnis einer STT Definition für ein Ziel-Attribut. Im Bespiel sind zwei Quellsystem Attribute für die Bewirtschaftung eines Ziel-Attributes plus Transformationslogik definiert worden:

erwin, data source editor, 12

Nachdem man dies für alle Zielattribute durchgeführt hat, kann man für die ETL-Entwickler eine STT Map via SQL generieren. Zur Ausführung der SQL-Abfrage kann der Anwender wählen zwischen eingebautem „Query Tool“ oder der ODBC-Schnittstelle. Hier ein Bsp. über das „Query Tool“:

erwin, data source editor, 13

Connect:

erwin, data source editor, 14

SQL Query definieren und ausführen. Das Ergebnis kann als CSV gespeichert und nach Excel importiert werden:

erwin, data source editor, 15

Hier ein Bsp. zur Nutzung der ODBC-Schnittstelle über den SQL-Editor Toad (nicht Bestandteil von Erwin):

erwin, data source editor, 16

SQL-Query mit Syntax-Highlighting, Toad Metadaten Browser und Resultset der Abfrage:

erwin, data source editor, 17

Viel Spaß damit!

Getestet mit Erwin 8.2 Workgroup Edition