CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Erstellen von Dimensionselementen im Planungsprozess

Unsere BI-Software DeltaMaster ist ein großartiges Planungstool. Sie bietet viele Möglichkeiten, die in Planungsszenarien viel Zeit und Energie sparen. Bei einigen Planungsszenarien kann es notwendig sein, neue Dimensionselemente anzulegen. Dies geschieht in DeltaMaster in sogenannten ‚Stammdaten‘-Sitzungen in denen Teile der relationalen Quelle der Dimensionsdaten gepflegt werden können. Leider ist im Standardmodell danach ein Verarbeiten notwendig, um die Änderungen im OLAP-Modell zur Verfügung zu haben. In Planungsphasen, die bei einigen unserer Kunden recht intensiv und kommunikativ sind, kann aber das Warten auf die nächste Verarbeitung (meist in der nächsten Nacht) keine Option sein. Deshalb stellen wir nun einen einfachen Weg vor, um Daten, die in der Stammdatenpflege eingeben werden, sofort im Modell verfügbar zu haben.

Was wir dafür brauchen, ist erstens, dass die T_DIM-Tabellen direkt bei der Eingabe in die Stammdatenpflege aktualisiert werden. Die OLAP-Datenbank hat nun mal nur mit diesen Tabellen Verbindung, holt die Daten für das multidimensionale Modell nur aus diesen Tabellen und deshalb müssen diese auch sofort aktualisiert werden. Da hier nur relationale Tabellen eine Rolle spielen, ist das eine Anforderung an die relationale Datenbank und sollte mit wenig Mühe umgesetzt werden können. Am besten erledigt man so etwas direkt in den Insert-, Update- und Delete-Prozeduren der Eingabetabellen der relationalen Stammdaten-Sitzung.

Zweitens brauchen wir einen Mechanismus, der die Daten aus den Dimensionstabellen sofort in das multidimensionale Modell liest. Dafür kann man z.B. das proaktive Caching verwenden.

Das proaktive Caching für Dimensionen findet man im Business Development Studio bei den Dimensionen in der Eigenschaften-Box.

Visual Studio proaktives Caching

Das proaktive Caching ist eine Technik, die es erlaubt, Daten in höherer Frequenz (höher als jede Nacht) in den Cube zu laden. Dafür stehen verschiedene Standard-Szenarien zur Verfügung, die sich in bestimmten Parametern unterscheiden.

Dimension Speichereinstellung

Eine hohe Aktualität hat zur Folge, dass das System ständig verarbeitet wird, was wiederum Ressourcen beansprucht, die möglicherweise gerade für Auswertungen benötigt werden. Deshalb kann man durch die einzelnen Szenarien eine Verarbeitungsverzögerung einstellen, um die Ressourcen frei zu halten für die eigentlichen Aufgaben einer OLAP-Datenbank: Die Auswertungen.

Im Beispiel, das hier vorgestellt wird, wird davon ausgegangen, dass Dimensionselemente nur sporadisch neu angelegt bzw. geändert werden. Da ist ein Verarbeiten z.B. alle zehn Minuten nicht notwendig. Besser ist in diesem Fall die Möglichkeit, dass ein Verarbeiten startet, sobald Daten geändert wurden. Auch das kann man im proaktiven Caching einstellen. Im Fenster für die Speichereinstellungen des proaktiven Caching gibt es einen Button ‚Optionen…‘.

Speicheroptionen

Auf der Seite ‚Allgemein‘ sind die Einstellungen zu sehen, die das Szenario ‚Automatisches MOLAP‘ ausmachen. Dabei ist das Ruheintervall (oder die Latenzzeit) so gering wie möglich (10 Sekunden) und das Ruheüberschreibungsintervall auf 10 Minuten eingestellt. Die Latenzzeit bewirkt nun, dass Eingaben in unsere Stammdatentabelle erst 10 Sekunden später im Würfel erscheinen. Das kann man noch umgehen, indem man bei Optionen ‚Sofort online schalten‘ einstellt. Im Hintergrund wird dann, sollte sich der Würfel gerade bei einer Abfrage im Ruheintervall befinden, auf der relationalen Schicht nach den Daten gesucht. Das ist sozusagen ein temporäres ROLAP.

Hier wurde das System so eingestellt, um die Latenzzeit zu überbrücken. Ressourcenengpässe waren kein Thema.

Auf der Seite ‚Benachrichtigungen‘ muss noch der Weg bestimmt werden, auf dem die OLAP-Dimension automatisch verarbeitet werden soll.

Speicheroptionen Benachrichtigungen

Hier gibt es 3 Möglichkeiten der Aktualisierung:

  1. Der SQL-Server schickt eine Nachricht an die OLAP-DB, sobald sich der Inhalt einer Tabelle geändert hat.
  2. Ein Client schickt eine Nachricht an die OLAP-DB, sobald der Client eine Aktualisierung wünscht.
  3. Es wird ein Aktualisierungsintervall eingegeben. Dann ist das aber kein ‚Automatisches OLAP‘ mehr, sondern ein ‚Geplantes OLAP‘.

Es wurde 1) eingestellt und als Nachverfolgungstabelle die Dimensionstabelle der Dimension ausgewählt.

Das ist alles. Nun werden Dimensionselemente direkt im Würfel zu sehen sein, sobald sie in der Stammdatenpflege eingegeben worden sind. Es geht auch das Löschen von Dimensionselementen, sofern diesen Elementen noch keine Faktendaten zugeordnet sind. Aber bei korrekter Nutzung von Fremdschlüsseln sollte das Löschen von solchen Dimensionselementen schon relational zu einem Fehler führen.