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

Sichtbare Summen

Häufig werden unsere Achsen in DeltaMaster-Berichten sortiert. Mindestens genauso oft werden sie auch mit einer Rangfolge versehen. Handelt es sich dann auch noch um einen Bericht mit mehr als einem zu analysierenden Merkmal, dann ist man schnell bei einer Anforderung angelangt, wie bspw. einer Übersicht der vertrieblichen Regionen und deren jeweils Top 5 Produkte. Dazu vielleicht noch Zwischensummen? Korrekt. Herzlich Willkommen bei einem Blogbeitrag zum Thema Berichtsbau.
Bleiben wir zunächst gerne bei unserem Beispiel. Zu erstellen ist ein Bericht für die Chair AG. Auf die Zeilenachse gehören die vier Kundenregionen Nord, Süd, Ost und West, sowie deren jeweils Top 5 verkauften Produkte. Spätestens nach zwei intensiven Tagen Umgang mit DeltaMaster in unseren Schulungsräumlichkeiten beantworten wir eine solche Anforderung fix mit einem solchen Bericht:

Abb. 1: Ausgangsbericht

Doch meist kommt nach der anfänglichen Freude über unser Erzeugnis eine weitere Fragestellung in unser Bewusstsein. Wie würde ich hier denn nun eine Zwischensumme pro Region zur Anzeige bringen?
Häufig geht der Blick hierbei erneut in die Definition der Achse, und zwar genauer gesagt in die Auswahl der angezeigten Produkte. Hier ist es erlaubt, neben der Auswahl der untersten Ebene der Hierarchie (Produkt) auch einen darüber liegenden Knotenpunkt auszuwählen, z. B. das allen übergeordnete Summenelement (All).

Abb. 2: Auswahl der untersten Ebene in der Hierarchie Produkt

Doch was passiert? Nach der Auswahl der weiteren Ebene stellt sich der Bericht wie folgt dar:

Abb. 3: Zwischenbericht

Auf den ersten flüchtigen Blick scheint man auf dem richtigen Weg. Der Ansicht der jeweils am häufigsten verkauften Produkte wurde ein Summenelement hinzugefügt (Alle Produkte). Doch bei genauerer Betrachtung fällt dann doch sehr schnell auf, dass weder die Summe der angezeigten Region stimmt und somit als Zwischensumme taugt, noch stimmt die gewünschte Anzahl der gezeigten Produkte. Denn die Zwischensumme ist jeweils – verständlicherweise – an Platz 1 der Rangfolge pro Region gerutscht. Dieses Problem könnte man noch leicht beheben, indem man die Rangfolge vielleicht auf die Top 6 Produkte stellt. Wohlwissend, dass der erste Platz dann immer vom Summenelement eingenommen wird. Doch wie erhält man die korrekte Zwischensumme? Derzeit wird scheinbar die Gesamtsumme jeder Region dargestellt.
Um auf die Lösung zu kommen, muss man sich zunächst verdeutlichen, was genau fehlt. Die Summenzeile in der Spalte der Produkte ist schon ganz richtig. Jedoch kann das sture All-Element die Anforderung nicht erfüllen. Man bräuchte doch vielmehr ein weiteres Element in der Produktdimension, welches statt nach allen Produkten nach bestimmten Produkthaupt- oder Produktgruppen der Anforderung gruppiert, nämlich nach den Top 5! Und genau solch ein Element müssen wir uns für die korrekte Lösung anlegen.
Hierfür gehen wir über die Sicht in den Dimensionsbrowser der Produkte und erstellen ein neues berechnetes Element. Statt einer zunächst vorgeschlagenen Abweichung wechseln wir auf den Reiter „Benutzerdefiniert“, denn hier müssen wir uns ein ganz klein wenig in MDX-Syntax verlustieren.
Unser Element soll die Summe der Top 5 Produkte, sortiert anhand der Kennzahl Absatz, wiedergeben. Und dieser einst formulierte Satz stellt sich, kaum gesprochen, auch schon folgendermaßen in MDX dar:

SUM(TopCount([Produkt].[Produkt].[Produkt].Members, 5, [Measures].[Absatz]))

Ist diese Syntax hinterlegt, wählt man noch einen ausdrucksstarken Namen wie ∑ Top 5 und schon hat man die Produktdimension um ein weiteres, aufgrund des individuellen Anlegens grün dargestelltes, Element verstärkt.

Abb. 4: Neues Element in der Produktdimension

Ab diesem Zeitpunkt kann der Bericht modifiziert und mit diesem Element ergänzt werden. Die Achsendefinition könnte dann wie folgt aussehen (bestückt mit MDX):

TopCount([Produkt].[Produkt].[Produkt].Members,5,[Measures].[Absatz]),
[Produkt].[Produkt].[temp 2]

Wobei der erste Teil, TopCount, lediglich eine Ausformulierung des zuvor schon dargestellten Rangfolge ist: die Top 5 Produkte anhand der Kennzahl Absatz. Viel wichtiger, weil nun neu hinzugefügt, ist der zweite Teil nach dem Komma, der Verweis auf unser in der Dimension angelegtes, neues Element ∑ Top 5, welches hier im Beispiel die MDX-Syntax temp2 erhalten hat. Wird der Bericht mit diesem Achseninhalt aufgerufen, so erhalten wir im Folgenden exakt die gewünschte Struktur inklusive der Zwischensummen pro Region.

Abb. 5: Korrekte Darstellung in der Dimension Produkte

Wie schon zuvor bei der einfachen Rangfolge ohne Zwischensummen ist es auch hier unerlässlich, den Haken in der Achsendefinition bei Hierarchien ineinander schachteln gesetzt zu haben, da sich sonst nur die Top 5 Produkte der gesamten Chair AG zeigen und kein Bezug auf die Regionen genommen wird. Und das Schöne ist: Dieses Top 5 Element der Produkte ist nun unabhängig von jeder davor geschachtelten Dimension wiederverwendbar. Es funktioniert also sowohl mit den Regionen der Kundendimension als auch bspw. mit den Stoffgruppen.

Abb. 6: Analoge Darstellung in der Dimension Stoffgruppen