Suchen...
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Small Multiples mit dynamischen Vergleichen

PDF Download

Liebe Datenanalysten,

eine Empfehlung an alle, die informieren wollen, lautet: konkret sprechen und schreiben. Das geht oft einfacher, wenn man abstrakt denkt. Abstraktion bedeutet nicht, Unwichtiges wegzulassen, sondern Gemeinsamkeiten zu suchen. Im Berichtswesen beispielsweise geht es selten um x-beliebige Kunden, Materialgruppen, Geschäftsfelder, sondern sie sind nach einem bestimmten Kriterium ausgewählt, nach einer Regel: die Kunden mit dem größten Umsatz, die Materialgruppen mit den größten Beständen, die Geschäftsfelder mit den stärksten Abweichungen. Wenn man solche Regeln in DeltaMaster formulieren kann und einen Bericht darauf aufbaut, lässt sich der Bericht ganz einfach aktualisieren oder in einem anderen Kontext auswerten, etwa für ein anderes Land. Besonders intensive Darstellungen entstehen, wenn Sie gleich mehrere gleichartige Berichtsteile dynamisch zusammenziehen – mit Small Multiples. Und dazu geben wir in diesen DeltaMaster clicks! ganz konkrete Hinweise.

Herzliche Grüße
Ihr Team von Bissantz & Company

Mehrere sollen es sein und klein sollen sie sein – das ergibt sich, wenn man den Begriff „Small Multiples“ wörtlich nimmt. Das Konzept haben wir schon verschiedentlich erläutert: Dasselbe Gestaltungsprinzip wird für mehrere Berichtsgegenstände wiederholt; die Form bleibt gleich, der Inhalt ändert sich. Wir zeigen also nicht eine Ergebnisrechnung, sondern mehrere nebeneinander, gleich strukturiert, aber für verschiedene Gesellschaften, in einem Bericht; nicht eine Umsatzstatistik, sondern mehrere, gleich strukturiert, aber für verschiedene Geschäftsfelder, in einem Bericht; nicht eine Landkarte, sondern mehrere, vom gleichen Land, aber für verschiedene Jahre, in einem Bericht, wie im folgenden Bild – und so weiter.

Mining-Verfahren: Small Multiples

Dieses Konzept ermöglicht sehr aussagekräftige Berichte, in denen es viel zu vergleichen gibt und die leicht zu lesen und zu verstehen sind, weil sich das Vergleichsprinzip wiederholt: Hat man einen Teil verstanden, versteht man die anderen auch und kann sie in Beziehung setzen. Und auch der Berichtsredakteur tut sich leicht mit Small-Multiples-Berichten, weil sie auf Wiederverwendung beruhen: Der Bericht setzt sich aus Konstrukten zusammen, die in der Analysesitzung auch einzeln vorkommen; das Verfahren Small Multiples zieht sie mit wenigen Einstellungen zusammen und kümmert sich um die Beschriftung, Formatierung und Skalierung.

In den DeltaMaster clicks! 12/2008 und 11/2010 haben wir das Verfahren bereits vorgestellt. In dieser Ausgabe konzentrieren wir uns auf einen Teilaspekt: nämlich darauf, wie man die Objekte dynamisch festlegt, für die eine bestimmte Darstellungsform zu wiederholen ist. Dabei geht es uns vor allem um diese beiden Nutzeffekte:

  • erstens um einen Automatismus, bei dem von einem einzigen Parameter weitere abhängen – der Anwender muss also nur eine Auswahlentscheidung treffen und von dieser werden automatisch weitere Auswahlentscheidungen abgeleitet –, und
  • zweitens um eine analytisch geprägte Auswahl der Objekte, die dargestellt werden sollen – anstelle einer expliziten Aufzählung von Objekten soll also bei jeder Berechnung des Berichts zuerst nach analytischen Kriterien ermittelt werden, welche Objekte er enthalten soll.

Um Small-Multiples-Berichte in diesem Sinne dynamisch zu gestalten, greifen wir auf zwei Bausteine zurück, die sich in DeltaMaster-Anwendungen immer wieder bewähren: auf Zeitanalyseelemente (oder, allgemeiner formuliert, auf berechnete Elemente) sowie auf benannte Mengen.

Zur Wiederholung

Ein Small-Multiples-Bericht basiert bekanntlich auf einem Cockpit oder einer Analysevorlage, die wiederholt berechnet wird, jeweils für ein unterschiedliches Objekt. So entsteht für jedes Objekt eine eigene Kachel. Alle Kacheln sind gleichartig; sie unterscheiden sich in dem, was sie berichten, aber nicht, wie sie das berichten. Das Wiederholen nennen wir Iteration. Die Iteration kann über Ebenen, Elemente, benannte Mengen, Analysewerte und Dimensionen erfolgen; diese fünf Varianten bezeichnen wir als Iterationstypen. Die ersten drei Iterationstypen ähneln sich: Bei allen dreien werden Dimensionselemente durchlaufen – entweder alle Elemente auf einer Ebene, zum Beispiel alle Elemente der Ebene „Region“, oder explizit ausgewählte Elemente, zum Beispiel „Nord“ und „West“, oder die in einer benannten Menge zusammengefassten Elemente.

Ebene, Elemente, benannte Mengen, Analysewerte und Dimensionen

Small Multiples mit Zeitanalyseelementen

Beginnen wir mit einem einfachen Beispiel – dem oben abgebildeten Bericht mit drei Landkarten für die drei Vorjahre. In diesem Bericht läuft die Iteration über explizit ausgewählte Elemente, nämlich über drei Elemente aus der Dimension „Periodenansicht“. Dies ist eine Hilfsdimension, die sich in vielen Modellen findet, eventuell unter anderem Namen, etwa „Time Utility“, „Zeitart“ oder „Periodenbezug“. Sie nimmt die sogenannten Zeitanalyseelemente auf, die in DeltaMaster für Vergleiche mit der jeweils aktuellen Periode vorgesehen sind.

Periodenansicht auf der Registerkarte Elemente in den Small Multiples Einstellungen

Beispielsweise könnte ein Zeitanalyseelement den Wert einer Kennzahl aus der vorherigen Periode liefern, die Abweichung zu diesem Wert, eine Jahreskumulation, einen rollierenden Durchschnitt der letzten 6 Monate oder Ähnliches (siehe DeltaMaster clicks! 08/2007). In unserem Fall – Geoanalysen für die letzten drei Perioden – benötigen wir Elemente vom Berechnungstyp Abfrage, um an die Werte einer bestimmten früheren Periode zu gelangen. Die „einfache“ Vorperiode (mit einem Abstand von 1, „{pp1}“) dürfte in den meisten Modellen bereits definiert sein, für die anderen früheren Perioden sind zusätzliche Zeitanalyseelemente schnell angelegt.

Editor für Zeitanalyseelemente mit Name, Beschreibung, Anmerkung, Solve Order, Formatierung, Berechnungstyp und Periode

Die Zeitanalyseelemente sind hier mit Platzhaltern benannt, die bei der Anzeige im Bericht ersetzt werden durch den konkreten Namen der Periode. „{pp1}“ steht für „previous period“ mit Abstand 1 – für das Jahr 2012 wäre das das Jahr 2011, für den November 2012 wäre es der Oktober 2012. „{pp2}“ steht für eine frühere Periode mit Abstand 2 – von 2012 aus das Jahr 2010, vom November 2012 aus der September 2012.

Auch diese Platzhalter sind in den DeltaMaster clicks! 08/2007 dokumentiert. Sie sorgen dafür, dass DeltaMaster automatisch den richtigen Zeitpunkt in Berichten, Cockpits und Analysen ausweist. Allerdings sind die Kürzel nicht gut zu lesen und anzuwenden, wenn sie nicht ersetzt, sondern unverändert angezeigt werden, etwa im Dimensionsbrowser. Deshalb stellt man in den Hierarchieeigenschaften (Menü Ich möchte im Dimensionsbrowser) üblicherweise ein, dass DeltaMaster die Beschreibung statt des Namens in Auswahllisten anzeigen soll, und gibt den Zeitanalyseelementen eine treffende Beschreibung.

Für berechnete Elemente Beschreibung statt Name in Auswahllisten anzeigen in den Hierarchieeigenschaften

Im Modus Viewer lässt sich gut beobachten, wie sich dieser Bericht verhält, wenn man unterschiedliche Zeitpunkte im Fenster Sicht auswählt.

Ist beispielsweise das Jahr 2012 ausgewählt, stellen die Kacheln die Jahre 2009, 2010 und 2011 dar.

Small Multiples im Modus Viewer: Auswahl der Periode 2012, Anzeige der Jahre 2009 ff.

Wählt der Anwender ein Quartal aus, zeigt der Bericht die drei Quartale, die diesem vorausgehen.

Small Multiples im Modus Viewer: Auswahl der Periode Q4 2011, Anzeige der vorausgehenden Quartale

Und auch auf der Monatsebene wirkt das Prinzip – ein Monat wird gewählt, drei werden gezeigt.

Small Multiples im Modus Viewer: Auswahl der Periode Jun 2012, Anzeige der vorausgehenden Monate

Small Multiples mit sichtabhängig definierter benannter Menge

In dem vorherigen Beispiel lag die Dynamik in Zeitanalyseelementen (oder allgemein: in berechneten Elementen). Für Small-Multiples-Berichte, in denen gleichartige Kacheln für wenige Perioden berechnet und nebeneinander gestellt werden sollen, ist das eine gute Lösung. An Grenzen stößt dieses Vorgehen, wenn die Perioden eines längeren Zeitraums benötigt werden, etwa die 13 Monate von der aktuellen Periode bis zur Vorjahresperiode: Man müsste dann 13 Zeitanalyseelemente anlegen und auswählen, was gewiss etwas umständlich wäre. Vor allem aber gilt damit die Anzahl von Perioden für jede Ebene – es würden also auch 13 Quartale oder 13 Jahre dargestellt. Das aber ist meistens nicht sinnvoll; vielmehr hängt von der Ebene auch die Anzahl der zu berücksichtigenden Elemente ab.

Für solche Fälle eignen sich benannte Mengen. Eine benannte Menge ist ein MDX-Ausdruck, der eine Menge von Dimensionselementen oder Analysewerten zurückgibt. Der MDX-Ausdruck kann eine schlichte Aufzählung von Elementen sein, er kann aber auch Berechnungen und Bedingungen enthalten – alles, was MDX hergibt.

Zur Veranschaulichung dient ein anderes Beispiel: eine kleine Pivottabelle mit dem Umsatz auf der Spaltenachse und den fünf umsatzstärksten Produkten auf der Zeilenachse. Diese „Top 5“ sollen nicht nur für eine Periode betrachtet werden, sondern für sechs Monate, alternativ für vier Quartale oder drei Jahre. Die Aufgabe klingt einfach – aber mit einer Pivottabelle ist sie nicht zu lösen: Schließlich könnten in jeder Periode fünf andere Produkte die umsatzstärksten sein. In jeder Periode könnte also etwas anderes in den Zeilen der Tabelle stehen. In einer Pivottabelle gilt jedoch dieselbe Zeilenanordnung für alle Spalten. Eine Pivottabelle würde in allen (Perioden-)Spalten dieselben fünf Produkte darstellen, nicht die jeweils fünf umsatzstärksten. Für Small Multiples hingegen ist die Darstellung kein Problem: Es werden eben sechs oder vier oder drei Pivottabellen berechnet, jede mit ihrer eigenen Zeilenanordnung, und automatisch zu einem Bericht zusammengesetzt.

Achsendefinition, Hierarchie Produkte: TopCount 5 bezüglich Analysewert Umsatz auf der Registerkarte Ranking und entsprechende Pivottabelle

Zur dynamischen Auswahl der Perioden legen wir über den Benannte-Mengen-Browser (Menü Modell) eine benannte Menge an (Kontextmenü oder Menü Ich möchte). Im Editor für benannte Mengen sind zunächst die Dimension und die Hierarchie auszuwählen, um deren Elemente es geht. In unserem Fall ist das die Zeitdimension; sie heißt „Periode“ und hat nur eine Hierarchie.

Benannte Menge anlegen im Benannte-Mengen-Browser im Menü Modell

Die gewünschte Logik erreichen wir mit dem folgenden MDX-Ausdruck:

LastPeriods(
Iif(<view>.Level.Ordinal = 0, 1,
Iif(<view>.Level.Ordinal = 1, 3,
Iif(<view>.Level.Ordinal = 2, 4,
6))),<view>)

In dieser Schreibweise wird der Ausdruck von Microsoft Analysis Services, von IBM (Applix) TM1, SAP BW und anderen MDX-Datenbanken akzeptiert.

MDX-Ausdruck auf der Registerkarte Allgemein im Editor für benannte Mengen

Der Ausdruck liefert zurückliegende Perioden („LastPeriods“), die ausgehend von der aktuellen Periode („<view>“ in der letzten Zeile) zu zählen sind. In dem gesamten Ausdruck ist „<view>“ ein Platzhalter für das jeweils aktuelle Element der Sicht, also für diejenige Periode, die im Fenster Sicht in der Zeitdimension ausgewählt ist. (Der Term „<view>“ wird von DeltaMaster interpretiert und ersetzt, er gehört nicht zum Sprachumfang von MDX.) Wie viele Perioden zu erfassen sind, bestimmt eine Reihe von Vergleichsausdrücken („Iif“):

  • Falls das in der Sicht ausgewählte Element (das aktuelle Element) auf der Ebene 0 der Hierarchie liegt („Level.Ordinal = 0“; in unserem Referenzmodell: „All“), so soll genau eine Periode berücksichtigt werden – also nur das aktuelle Element selbst.
  • Gehört das aktuelle Element zur Ebene 1 („Level.Ordinal = 1“; hier: „Jahre“), so sollen drei Elemente berücksichtigt werden, also das aktuelle Jahr und die beiden davor.
  • Gehört das aktuelle Element zur Ebene 2 („Level.Ordinal = 2“; hier: „Quartale“), so sollen vier Elemente berücksichtigt werden, also das aktuelle Quartal und die drei davor.
  • Ansonsten sollen sechs Elemente berücksichtigt werden – sechs Monate. Mehr Ebenen hat die Hierarchie in unserem Beispiel nicht.

In vielen Modellen ist die Zeitdimension genau so aufgebaut, wie oben abgebildet, also mit einer „All“-, einer Jahres-, einer Quartals- und einer Monatsebene. Dann können Sie den MDX-Ausdruck unverändert in Ihre Anwendung übernehmen (abweichende Namen für die Ebenen, zum Beispiel auf Englisch, sind unerheblich). Bei einer abweichenden Struktur achten Sie auf die Nummerierung der Ebenen.

Mit dieser benannten Menge ist der Small-Multiples-Bericht schnell definiert: Als Cockpit/Analysevorlage wählen wir die oben gezeigte Pivottabelle aus, als Iterationstyp „benannte Menge“ und dann die soeben diskutierte benannte Menge. Wieder beobachten wir im Modus Viewer, wie sich ein und derselbe Bericht verhält, wenn man die aktuelle Periode variiert.

Cockpit/Analysevorlage: Top 5 Produkte, Iterationstyp: Benannte Menge und 3 Jahre/4 Quartale/6 Monate

Ist ein Monat ausgewählt, umfasst der Bericht 6 Monate, wie festgelegt. Deutlich ist zu erkennen, warum eine Pivottabelle mit den „Top 5“ über mehrere Perioden nicht zurechtgekommen wäre: Im Dezember beispielsweise liegen „Hansen ZZ“ und „Precisio LF“ auf den Plätzen 4 und 5, im Januar sind dort zwei andere Produkte, „Hansen 10“ und „EF Drehstuhl Ergo“.

Small Multiples Bericht im Modus Viewer für Top 5 Produkte von Dezember 2011 bis Mai 2012

Derselbe Bericht, eine andere Sicht, dieses Mal ein Quartal – und schon zeigt der Bericht eine andere Anzahl von Kacheln. Die Balken in den Grafischen Tabellen sind global skaliert, sodass die Wertunterschiede über die Kacheln hinweg verglichen werden können.

Small Multiples für Top 5 Produkte von Q1 2011 bis Q4 2011

Wählt der Anwender ein Jahr, ändert sich die Zahl der Kacheln erneut; es sind nur noch drei.

Small Multiples für Top 5 Produkte von 2010 bis 2012

Small Multiples mit analytisch definierter benannter Menge

Im vorherigen Beispiel haben wir eine benannte Menge definiert, die abhängig von der aktuellen Sicht mehr oder weniger Elemente sowie Elemente auf unterschiedlichen Ebenen umfasst. Ein einziger Bericht kann damit mal feiner, mal gröber auflösen – eine große Erleichterung für den Berichtsempfänger, der sich im Modus Viewer mit den Ergebnissen auseinandersetzen will, ebenso wie für den Berichtsredakteur, der die Auswertung nur einmal zu pflegen hat. Die benannte Menge diente im Wesentlichen dazu, eine Auswahl des Benutzers (nämlich das aktuelle Element in der Zeitdimension) abzufragen und daraus abzuleiten, welche Kacheln der Bericht enthalten soll.

Darüber hinaus lassen sich benannte Mengen auch für andere Aufgaben einsetzen – insbesondere für analytische. Eine typische Frage aus dem Vertriebscontrolling lautet etwa: Welche sind die besten Kunden und welche Produkte fragen sie jeweils nach? Die „Top 5 Produkte“, die wir oben für mehrere Perioden verglichen haben, sollen nun für mehrere Kunden ermittelt werden – und für welche Kunden, das hängt wiederum von einer Abfrage ab; die besten Kunden können schließlich in jeder Periode oder in jedem Marktsegment andere sein.

Wieder hilft eine benannte Menge, in der wir die Abfrage nach den besten Kunden speichern. Das Vorgehen ist einfacher als oben, weil wir den MDX-Ausdruck nicht selbst schreiben müssen, sondern aus einer Pivottabelle heraus speichern können.

Wir erstellen also eine Pivottabelle mit den „Top 10“ der Kundendimension. In der Achsendefinition wählen wir dazu auf der Registerkarte Allgemein die gewünschte Ebene aus, die Kunden, und auf der Registerkarte Ranking die Sortierung („TopCount“).

Achsendefinition, Hierarchie Kunden: TopCount 10 bezüglich Analysewert Umsatz auf der Registerkarte Ranking und entsprechende Pivottabelle

Anschließend können wir diese Definition als benannte Menge speichern (Menü Ich möchte in der Achsendefinition). Im Editor für benannte Mengen ist lediglich ein Name für diese Menge einzugeben. Damit ist die Abfrage wiederverwendbar.

Ich möchte Benannte Menge speichern als ...

Sie können sie beispielsweise in anderen Pivottabellen abrufen, in MDX-Ausdrücken damit rechnen, sie über den Benannte-Mengen-Browser (Menü Modell) weiterbearbeiten, kopieren (ab DeltaMaster 5.5.4), umbenennen und vieles mehr – und Sie können sie zur Iteration in Small Multiples verwenden.

Cockpit/Analysevorlage: Top 5 Produkte, Iterationstyp: Benannte Menge und Top 10 Kunden

Betrachten wir den entstehenden Bericht noch einmal im Modus Viewer.

Small Multiples Bericht im Modus Viewer für Top 10 Kunden und jeweils Top 5 Produkte in der Stoffgruppe Alu in Q1 2012

Im 1. Quartal 2012 (und in der Stoffgruppe „Alu“) war der beste Kunde „Dobersohn“, gefolgt von „Der gute Stuhl“, „SuperOffice“ und „Raum und Licht“. Der Bericht zeigt die Kunden in der Rangfolge ihres Umsatzes in diesem Quartal (und dieser Stoffgruppe) und für jeden Kunden die fünf umsatzstärksten Produkte.

Small Multiples Bericht im Modus Viewer für Top 10 Kunden und jeweils Top 5 Produkte in der Stoffgruppe Alu im folgenden Quartal, Q2 2012

Im 2. Quartal 2012 (und in derselben Stoffgruppe) ist das Geschäft anders verlaufen, der beste Kunde war die „Bundesagentur für Arbeit“, „Dobersohn“ liegt auf Platz 2, auf Platz 3 „MCI“. Andere Kunden, eine andere Reihung – aber wieder zeigt der Bericht die Kunden in der Rangfolge ihres Umsatzes in diesem Quartal (und dieser Stoffgruppe) und für jeden Kunden die fünf umsatzstärksten Produkte. In diesem Bericht sind also zwei Rangfolgen ineinander geschachtelt, zuerst eine Rangfolge der Kunden und für jeden Kunden eine Rangfolge seiner beliebtesten Produkte.

Wiederholungen wiederholen

In diesen clicks! haben wir drei Varianten vorgestellt, wie Sie mit Small Multiples dynamische Vergleiche definieren. Zum Erstellen solcher Berichte ist eine Lizenz der Stufe Miner-Expert oder eine separate Small-Multiples-Lizenz erforderlich, die wir Ihnen zum Ausprobieren gerne zur Verfügung stellen. Die gespeicherten Berichte können Sie wie üblich ohne spezielle Lizenz in allen anderen Stufen verwenden – zum Beispiel für den Reader-Modus bereitstellen, im Viewer-Modus mit variablen Ansichten abrufen, mit dem Berichtsserver noch einmal iterieren, über Länder, Gesellschaften, Kostenstellen und so weiter … das nennen wir dynamisch!