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

Verdopple die Daten

„Wir brauchen zwei Kundendimensionen, für Warenempfänger und für Rechnungsempfänger.“ „Die Periodendimension bildet nur das Rechnungsdatum ab, wir brauchen auch eine Zeitdimension für das Leistungsdatum.“ Bei solchen Anforderungen in BI-Projekten wären theoretisch mehrfache Strukturen nötig. Mehrere Zeitdimensionen sind jedoch verboten, mehrere Kundendimensionen sind unpraktisch und beeinflussen die Abfragegeschwindigkeit negativ. In diesem Beitrag werden einige Beispiele aufgezählt, wie Dimensionen und Werte für verschiedene Blickwinkel auf die Daten wiederverwertet werden können.

Die eleganteste Lösung wurde im Blogbeitrag „Zeitarten“ diskutiert. Dabei werden die Daten verdoppelt, entweder über eine „UNION ALL“-Anweisung in der Faktensicht oder – und das ist die bessere Variante – in extra Sichten und Faktentabellen, die dann in eigene OLAP-Partitionen transformiert werden. Die Trennung der dann mehrfach importierten Daten geschieht über „Schalterdimensionen“. Einige Beispiele für deren Anwendung beschreiben wir im Folgenden.

Die bekannteste Schalterdimension ist die Dimension „Wertart“, die zwischen Ist- und Plandaten trennt. Sie ist in DeltaMaster ETL eine von vier Standarddimensionen. Ähnlich wie die „Wertart“ verhält sich die Dimension „Währungssicht“. Diese ermöglicht die Unterscheidung der vorhandenen Werte z. B. in eine Belegwährung, Buchungskreiswährung oder Konzernwährung.

Das in der Einleitung beschriebene Beispiel mit der Kundendimension modelliert man am besten mit einer Dimension „Kundensicht“, die z. B. zwischen Auftraggeber, Warenempfänger und Rechnungsempfänger trennen kann. Ob die Zuordnung von Faktendaten nach historischen oder aktuellen Stammdaten erfolgen soll, kann über eine Dimension „Datensicht“ gesteuert werden. Das Element „nach aktuellen Stammdaten“ verwendet dann die Zuordnung in den Stammdaten, das Element „nach Beleg“ die in den Faktentabellen historisch hinterlegten Merkmale.

Häufig mehrmals verwendet wird die Zeitdimension, z.B. durch eine “Datumsicht”. Hier kann z. B. bei Fakturadaten das Rechnungs-, Auftrags- und Lieferdatum abgebildet sein oder bei Prozessdaten das Anlage-, Änderungs- und Abschlussdatum.

Mit der Einstellung der Dimensionen werden die kompletten Datenstände je einmal pro gewünschter Sicht vervielfacht. Ein Beispiel: In einem früheren Kundenprojekt wurden historische und aktuelle Daten mit Währungsumrechnung nach Waren- und Rechnungsempfänger benötigt. Damit kam es zu einer Verachtfachung des Datenvolumens. Durch die Trennung der verschiedenen Perspektiven in einzelne Partitionen in einer Measure Group waren die Datenabfragen sehr schnell und alle Anforderungen konnten ohne Strukturverdoppelung umgesetzt werden.