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

Alles unique oder was?

Manche Projekte bringen Besonderheiten mit sich, für die es zunächst keine offensichtliche Lösung gibt. Im vorliegenden Projekt waren die IDs der Elemente unabhängig von ihrer Bezeichnung. Das heißt konkret, dass bei jeder Neuaufbereitung der OLAP-Datenbank die ID des Elements wechseln kann. Eine eindeutige Adressierung ist dann nur noch über den Elementnamen möglich. In der Konsequenz heißt dies folgendes: bei einer Elementauswahl in DeltaMaster kann man nicht sicher sein, dass nach der nächsten Aktualisierung des Würfels die Auswahl noch denselben Inhalt darstellt. In Modeler-basierten Modellen ist dies ausgeschlossen. Im vorliegenden Beispiel wurde die OLAP-Datenbank aber ohne Zuhilfenahme von DeltaMaster Modeler erstellt. Hierfür gibt es eine Abhilfe, die in diesem Blogbeitrag vorgestellt wird.

Elemente in einem Würfel können auf verschiedene Weise adressiert werden.

 

  1. key path algorithm: Die übliche Vorgehensweise bei der Adressierung erfolgt über die Ebene und dann auf das konkrete Element anhand des Element-Schlüssels:
    Dimension . Hierarchie . Ebene . & Element
    Für die Adressierung eines Elements ist es ausreichend, Dimension, Hierarchie, Ebene und Schlüssel des Elements anzugeben, da der Schlüssel in der entsprechenden Ebene das Ele-ment eindeutig identifiziert.
  2. name path algorithm: Abweichend davon kann die Adressierung des konkreten Pfades be-ginnend von der Hierarchie bis zum Elementnamen über die entsprechende Elementfolge erfolgen:
    Dimension . Hierarchie . TOP-Element . Kind . Kind .. etc….
    Für die Adressierung eines Elements muss zusätzlich zur Hierarchie beginnend vom TOP-Element je nach Tiefe des gesuchten Elements in einer Dimensionshierarchie für jede Zwi-schenebene (level) das explizite Element der Zwischenebene angegeben werden. Die Adresse des gesuchten Elements „verlängert“ sich daher für jede benötigte Ebene um ein Element.
    Entscheidend bei dieser alternativen Adressierung ist, dass nicht über den Elementschlüssel, sondern über den Element-Namen adressiert wird. Somit ist die Adressierung unabhängig von einem wechselnden Elementschlüssel.

 

Die Auswahl bzw. Adressierung eines Elements in einem OLAP-Modell kann auf beide Arten erfol-gen. Eine Besonderheit gibt es aber bei der Auswahl über DeltaMaster. DeltaMaster verwendet ohne explizite Angabe automatisch den „key path algorithm“. Damit bei der Auswahl eines Elements im MDX-Ausdruck per Drag & Drop die alternative Darstellung als Vorgabe bereitgestellt wird, ist beim Öffnen der Analysesitzung ein Schalter zu verwenden. Als Standard für den „mdx unique name style“ verwendet DeltaMaster die Option 1 (key path algorithm). Für die Lösung der hier gestellten Aufgabe ist ein anderer Wert zu setzen: „mdx unique name style=2“ (dies entspricht der Alternative name path algorithm). Dieser abweichende Parameter ist als explizite Eigenschaft im Anmeldedialog einzutragen.

Anmeldedialog im Bereich Weitere Optionen
Abb. 1: Anmeldedialog im Bereich Weitere Optionen

Dieser Eintrag kann auch nachträglich im Modell-Browser überprüft und bei Bedarf über den Wartungsdialog angepasst werden:

Model-Browser mit weiteren Verbindungseigenschaften
Abb. 2: Model-Browser mit weiteren Verbindungseigenschaften

Schauen wir uns nun das Ergebnis am konkreten Beispiel der Adressierung eines Monatselements in der Chair-Datenbank an:
Gesucht ist der Monat „Januar 2011“. Das Element hat im Würfel zwei Eigenschaften:

  1. KeyColumns
  2. NameColumn

 

Der Key ist „201101“ und der Name ist „Jan 2011“. Im beschriebenen Fall kann der Key abwei-chend eine willkürliche ID annehmen, die bei jeder Transformation neu vergeben wird. Diese Zuweisung eines unabhängigen Keys gilt für alle Schlüsselattribute im Modell.

Eigenschaften des Dimensionsattributs
Abb. 3: Eigenschaften des Dimensionsattributs “MonatID” im OLAP-Würfel

Auszug Datenquelle
Abb. 4: Auszug aus der zugehörigen Datenquelle

In DeltaMaster sieht man den Unterschied durch den gesetzten Schalter erst bei der Auswahl ein-zelner Elemente im MDX-Ausdruck:

Aufloesung des Elements
Abb. 5: Auflösung des Elements im MDX-Ausdruck mit Standard-Einstellungen

Aufloesung des Elements2
Abb. 6: Auflösung des Elements im MDX-Ausdruck mit Name-Path-Einstellungen

Fazit: Durch explizites Setzen des Schalters für den „mdx unique name style“ kann DeltaMaster in vollem Umfang für nicht-Modeler-basierte Modelle genutzt werden, die ein Element über seinen Namen und nicht über seinen Key eindeutig adressieren.