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

Definition von manuellen Auswahllisten

Sicher haben Sie auch schon einmal in DeltaMaster (DM) eine benutzerdefinierte Hierarchie erstellt. Damit reagieren Sie sehr flexibel auf neue Anforderungen ohne unbedingt diese neuen Hierarchien im Data Warehouse (DWH) zu implementieren. Die Anlage solcher Auswahllisten oder Hierarchien ist aber nur mit der Miner-Stufe des DM möglich. Was aber, wenn Sie viele Anwender der Viewer-Stufe haben, die auch flexibel ihre eigenen Auswahllisten definieren wollen?

In diesem Blogbeitrag stellen wir Ihnen mit Hilfe von zwei Tabellen im SQL Server und der relationalen Eingabe-Anwendung in DeltaMaster vor, wie man schnell manuelle Auswahllisten fuer die DeltaMaster-Analysesitzung definiert.

Notwendige Implementierung im Data Warehouse (DWH)

Es werden folgende zwei Tabellen angelegt:

  • T_S_Gruppe

In dieser Tabelle werden die Gruppen angelegt. Also Namen für die Auswahllisten vergeben, wie „Auswahl Top 10“ oder „Meine A-Kunden“.

  • T_S_Gruppenzuordnung

In der zweiten Tabelle definiert man die Zuordnung der Dimensionselemente zu den jeweiligen Gruppen. Das heißt, man legt die Auswahlliste fest.

Alle Inhalte werden über die DeltaMaster-Eingabe-Anwendung eingegeben. Diese Analysesitzung ist eine relationale Anbindung etwa zur SQL Server Datenbank. Dafür kann man die Analysesitzungsdatei von DeltaMaster Modeler benutzen.

Erstellen der Auswahllisten in DeltaMaster

Nach dem Öffnen der Analysesitzung wechseln wir zuerst in die Miner-Stufe und legen eine neue Berichtsmappe „Pflegetabellen Manuelle Auswahllisten“ an.

Abb. 1: Erstellung der Berichtsmappe in DeltaMaster

Über die Analysemethode „SQL-Durchgriff“ werden nun zwei Berichte erstellt, die als Quelle die oben genannten Tabellen beinhalten.

Abb. 2: Erstellung der Berichte

Nun wechseln wir wieder in die Viewer-Stufe und starten die Dateneingabe.

Im Bericht „Gruppen bearbeiten“ werden die Auswahllisten definiert. Felder wie „Benutzer“, „E_Mail“, „Sortierung“ sind lediglich Beispiele dafür, dass Zusatzimplementierungen wie Auswahlliste an Benutzerrechte koppeln oder Verbindung mit dem ReportServer und der automatische Versand von Berichten an E-Mail-Empfänger grundsätzlich möglich sind.

Abb. 3: Gruppen eingeben

Im Bericht „Gruppenzuordnung“ wird für jede Gruppe die Kunden-Artikel-Kombination festgelegt. Es ist auch möglich Kunden- und Artikellisten voneinander zu trennen.

Abb. 4: Gruppenzuordnungen definieren

Modellieren

Folgende Schritte sind nötig, um die Implementierung der Auswahllisten zu realisieren.

  • Aus der Tabelle „T_S_Gruppe“, also aus allen Einträgen des Berichts „Gruppen bearbeiten“, wird eine neue Dimension „Auswahllisten“ erstellt.
  • Aus der Tabelle „T_S_Gruppenzuordnung“, also aus allen Einträgen des Berichts „Gruppenzuordnung“, wird eine Measure-Gruppe angelegt.

Die Measure-Gruppe enthält die Dimensionen: Kunden, Produkte und Auswahllisten und einen einzigen Analysewert „AuswahllistenFlag“. Dieser Anlaysewert wird mit dem Wert 1 vorbelegt.

Analysieren

In der Analysesitzung stehen uns die Dimension „Auswahllisten“

Abb. 5: Dimensionsbrowser

und der Analysewert „AuswahllistenFlag“ zur Verfügung.

Abb. 6: Analysewertbrowser

Das Ziel ist nun die vordefinierten Auswahllisten in Cockpits und Berichten zu verwenden, um damit schnell Kunden/Produkt-Kombinationen zu präsentieren.

Dafür legen wir ein Cockpit mit der Dimension „Produkte“ und „Kunden“ in der Zeilenachse und dem Analysewert „Absatz“ in der Spaltenachse an. Es werden alle Produkt/Kunden-Kombinationen mit ihrem Absatz dargestellt.

In der Achsendefintion der Dimension „Produkte“ wählen wir die Option „benutzerdefinierter MDX-Ausdruck“ aus und geben folgenden Code ein:

Filter(Crossjoin({Descendants([Produkte].[Produkte].[Alle Produkte],
[Produkte].[Produkte].Levels(3),LEAVES)}, {Descendants([Kunden].
[Kunden].[Alle Kunden],[Kunden].[Kunden].Levels(5),LEAVES)}),
[Measures].[AuswahllistenFlag] = 1)

Hiermit erzeugen wir das Kreuzprodukt der Produkte und Kunden nur für die Elemente, welche bei dem Analysewert „Auswahllistenflag“ eine 1 als Wert haben.

Abb. 7: Achsendefinition

Außerdem wird die Option „MDX-Ausdruck gilt für alle Hierarchien dieser Achse“ aktiviert. Somit wird automatisch für die Achsendefinition „Kunden“ der gleiche MDX-Ausdruck verwendet.
Je nach Auswahlelement in der Sicht ändert sich jetzt der Inhalt unseres Cockpits auf Basis der definierten Auswahllisten.

Cockpit “Auswahl Top 10″

oder

Cockpit “Meine A_KD_Prod”

Sogar unabhängige Dimensionen, die in der Auswahlliste nicht berücksichtigt werden, können in den Cockpits über die Auswahllisten gefiltert werden. Dafür muss in der Cockpitdefinition als Filter folgendes MDX-Skript hinterlegt werden:

Filter(Crossjoin({Descendants([Produkte].[Produkte].[Alle Produkte],[Produkte].[Produkte].Levels(3),LEAVES)}, {Descendants([Kunden].[Kunden].[Alle Kunden],[Kunden].[Kunden].Levels(5),LEAVES)}), [Measures].[AuswahllistenFlag] = 1)

In unserem Beispiel wird die Dimension „Stoffgruppe“ durch den obigen MDX-Ausdruck im Cockpit automatisch für die ausgewählte Auswahlliste gefiltert.

Abb. 8: Cockpitdefinition

Für die Auswahlliste „Auswahl Top 10“ bekommen wir folgendes Ergebnis:

Abb. 9: Cockpit mit Stoffgruppen, Auswahlliste “Auswahl Top 10″

Für die Auswahlliste „Meine A_KD_Prod“ liefert uns DeltaMaster dieses Resultat:

Abb. 10: Cockpit mit Stoffgruppen, Auswahlliste “Meine A_KD_Prod”