Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Server Analysis Services im mehrdimensionalen Modus Grundkurs

SCD Typ 2: wir heben die Historie auf

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Will man im Data Warehouse – weit besser als im Quellsystem – historische Daten korrekt abbilden, implementiert man seine Strukturen so, wie es Ralph Kimball in seinem Konzept "SCD Typ 2" beschrieben hat.
04:54

Transkript

Dieses Filmchen hier erklärt, wie man mit dem von Ralph Kimball beschriebenen Verfahren SCD Typ 2, die Historie im Data Warehouse korrekt aufbewahrt. Das ist, wie gesagt, einer der Hauptgründe, warum man ein Data Warehouse wirklich benötigt, weil man darin die Historie auch bei Änderungen im operativen Quellsystem aufbewahren kann. Wie muss man das aber tun? Man muss dann, wenn man sein Data Warehouse neu lädt aus dem Quellsystem, jedes Mal überlegen, hat es Änderungen an vorhandenen Attributen gegeben, wo ich die Historie korrekt aufbewahren will? Und dann einen neuen Eintrag in der Dimension erzeugen. Nehmen wir doch mal das Beispiel hier von unserem Brian. Brian lebt in Washington und das ist im Moment der einzige Eintrag zu ihm, den es gibt, wenn er noch nie umgezogen ist oder sonst wie sein Geschlecht nicht verändert hat oder sein Geburtsdatum nicht. Wenn jetzt etwas passiert mit Brian, er zum Beispiel umzieht, dann muss ich das nicht wie beim Typ 1 direkt an der Stelle in der Zeile ändern, sondern ich entwerfe eine neue Zeile für Brian, ein neuer Eintrag. Und der hat alle Attribute kopiert vom alten Eintrag. Die Customer Number, den Namen, das Geschlecht, aber eben nicht den Bundesstaat, denn da steht jetzt der neue Wert Kalifornien. Und macht sich vielleicht noch so eine kleine Hilfe wie bei der Spalte Active ganz rechts, ist jetzt bei dem ersten, bei dem alten Eintrag vermerkt, "No", der ist nicht mehr aktiv. Der sollte neue Umsätze nicht mehr erhalten, denn jetzt ist ja der untere Eintrag aktiv, dass Brian in Kalifornien wohnt und ab jetzt gehen die Umsätze dort hin. Achtung, die intern im Quellsystem benutzte Customer Number ist natürlich bei beiden gleich, aber mit der arbeiten wir ja in unserer Dimensionstabelle gar nicht. Wir arbeiten mit dem Customer Key, dem künstlich generierten, den niemals einer zu sehen bekommt, und damit wird hier einfach ein neuer, zufälliger Wert von 784 vergeben. Wie sieht denn das jetzt mit dem Faktentabellen zusammen aus? Na, ganz einfach. Oben haben wir noch mal die Dimension: Kunden mit Brian einmal vor dem Umzug, einmal nach dem Umzug. Und unten die drei Spalten kommen aus den Verkaufsfakten, also zum Beispiel aus den Umsätzen, die Brian gemacht hat. Und seine historischen Umsätze, sind immer noch seiner alten Customer Key 457 zugeordnet. Und sie bleiben auch so. Für diese Umsätze wird er also immer ein Einwohner von Washington bleiben. Wenn er jetzt aber neu einkaufen geht, dann will er natürlich auch wieder abgerechnet werden und das wird aber unter Anwendung seiner neuen Customer Key, der 784 geschehen. Das heißt, diese 4 Stück, die er hier gekauft hat, die zählen für Kalifornien und nicht für Washington mit. Und damit haben wir die Historie korrekt historisch aufbewahrt. Dafür gibt's natürlich Pro und Kontra. Dieser Typ 1, dass man einfach die vorhandenen Werte überschreibt, ist sehr, sehr einfach zu implementieren. Man spricht da auch von einem One-Shot-DWH. Ein Data Warehouse, was im Prinzip jede Nacht einmal komplett leer gemacht wird und dann erst die Stammdaten, dann die Bewegungsdaten, jede Nacht komplett wieder neu geladen wird. Das ist natürlich immer aktuell, aber wie gesagt, es hat auch keinerlei Historie. Der Typ 2 arbeitet mit neuen Dimensionszeilen bei wesentlichen Änderungen in Attributen und das führt natürlich dazu, dass die historischen Auswertungen einfach nach wie vor korrekt sind. Meine Vorjahreszahlen verändern sich nicht, nur weil jemand aktuell irgendwohin umzieht. Wenn ich irgendwo vorberechnete Summen, Aggregat-Werte abgespeichert habe, die funktionieren natürlich immer noch. Wie gesagt, die Historie bleibt ja unverändert. Der einzige Nachteil bei SCD Typ 2 könnte sein, dass meine Dimensionstabelle immer länger wird, wenn der Brian jetzt einmal die Woche umzieht, dann habe ich am Ende des Jahres 52 Brians und die Gesamtanzahl meiner vermeindlichen Kunden ist viele höher als sie in der Realität sind. Und ein weiterer Nachteil oder wie auch immer, ein dringender Wunsch, den man erfüllen muss, wenn man Typ 2 nutzen will ist, man muss die künstlichen DatenbankIDs benutzen. Man kann nicht im Data Warehouse mit den Nummern direkt aus dem Quellsystem arbeiten, aber das macht man ja ohnehin in den meisten Fällen nicht. Also, künstliche DatenbankIDs nehmen, egal ob Typ 1 oder Typ 2, dann kann man immernoch auf Typ 2 umschalten. Den Schlüsselwert aus der Produktion, also diese Customer Number, die ja Brian auch hatte, soll natürlich mit abgespeichert werden, aber bitteschön nicht in den Fakten, nicht in den Bewegungsdaten, sondern nur in der Dimension in den Stammdaten. Und jetzt könnte noch jemand kommen und sagen, ja, ich würde aber gerne wissen, ob Brian zu meinen Top 100 Kunden gehört. Und damit will ich natürlich zusammenzählen, was er in Washington und was er in Kalifornien bestellt hat. Naja, dann nimmt man sich halt irgendeine unveränderliche Eigenschaft, zum Beispiel man nimmt sich sicherlich nicht den Namen, sondern wahrscheinlich eher seine Customer Number und kann die dann über die lange Zeit korrekt nachverfolgen. Das war der Versuch, Slowly Changing Dimensions Typ 2 nach Ralph Kimball für die bessere Historisierung im Data Warehouse verständlich zu machen.

SQL Server Analysis Services im mehrdimensionalen Modus Grundkurs

Lernen Sie eigene OLAP-Cubes und -Lösungen mit dem multidimensionalem Modus der SQL Server Analysis Services zu erstellen.

3 Std. 57 min (54 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.04.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!