Liebe Datenanalysten,
der Mensch liebt die Maschine. Bereits die Griechen kannten automatische Türöffner und analoge Rechner. Wohl haben sie auch mechanische Puppen konstruiert, um ein Publikum zu unterhalten. 1738 stellte der französische Erfinder Jacques de Vaucanson einen lebensgroßen, mechanischen Flötenspieler vor. Sein Repertoire umfasste nicht weniger als 12 Lieder. Die Gelehrten der Académie des Sciences staunten nicht schlecht. In der Erzählung „Der Sandmann“ von E. T. A. Hoffmann verliebt sich knapp 80 Jahre später ein Student sehr ahnungslos in ein reizendes Automaten-Fräulein. Wir interpretieren Bewegung als Zeichen von Leben. Das mag unsere Faszination für die Maschine erklären. Kultur hat die Maschine immer wieder neu interpretiert. Auch in der Entwicklung von DeltaMaster zeigen wir mal mehr, mal weniger Neigung, der Maschine mehr oder weniger zu überlassen. Vielfach bewährt und immer schon Bestandteil ist und bleibt, was Mühe nimmt und Routine erleichtert. Dabei gilt es, den Teufel im Detail auszutreiben. In diesen clicks! widmen wir uns einem Detail, einem, das wir getrost der Maschine übertragen können. Sehen Sie selbst.
Herzliche Grüße
Ihr Team von Bissantz & Company
Ein aussagekräftiger Name eines Berichts erleichtert es dem Leser zu erkennen, welche Informationen er darin erwarten darf, schon bevor er ihn gelesen hat. Zum Wohle unserer Berichtsempfänger tun wir gut daran, auf die Benennung von Reports zu achten – ganz abgesehen davon, dass auch uns die Arbeit leichter fällt, wenn wir schnell und eindeutig erfassen und unterscheiden können, was in einem bestimmten Bericht dargestellt wird. Der Name sollte uns eine Ahnung von seinem Inhalt geben. Der Inhalt wiederum wird bestimmt von der Sicht, die dem Bericht anhaftet: auf welchen Zeitpunkt sich die Angaben beziehen, um welches Land es geht, welche Vertragsart, welche Kundengruppe, welche Produktsparte, welche Organisationseinheit, welche Währung usw. Der Aufbau eines guten Berichts bleibt oft über lange Zeit stabil, aber die Sicht ändert sich immer wieder.
Mit DeltaMaster können Sie im Berichtstitel Variablen verwenden, die für bestimmte Elemente aus der Sicht dieses Berichts stehen. In der Berichtsmappe werden dann anstelle der Variablen die konkreten Ausprägungen angezeigt. Auf diese Weise wird der Name des Berichts dynamisch: Ändert sich die gespeicherte Sicht, zum Beispiel auf einen neuen Monat, so passt sich auch der Berichtstitel automatisch an. Derselbe Mechanismus steht für die Namen von Analysewerten und berechneten Elementen zur Verfügung; darauf gehen wir in einer späteren Ausgabe der clicks! ein.
Variablen im Berichtstitel – Zeitdimension
In der nebenstehenden Berichtsmappe ist der Bericht „DB-Rechnung“ geöffnet. Wie die Sichtbeschreibung im Fenster Bericht zeigt, gibt er die Werte für Juli 2009 wieder. In der Berichtsmappe ist das aber nicht erkennbar. Würden wir den Bericht umbenennen und den Monat „hart“ hineinschreiben, müssten wir das alle paar Wochen erneut tun. Durch die Variablen ersparen wir uns diese Mühe (und das Risiko, es zu vergessen).
Zum Umbenennen drücken Sie die Taste F2 oder wählen die entsprechende Option aus dem Kontextmenü. Der Name kann jetzt direkt in der Berichtsmappe bearbeitet werden. Die Variable für den aktuellen Zeitpunkt heißt „{cp}“ (current period).
Sobald Sie die Umbenennung mit der Eingabetaste abschließen, ersetzt DeltaMaster die Variable durch den für diesen Bericht geltenden Zeitpunkt.
Schalten Sie erneut mit F2 oder über das Kontextmenü in den Bearbeitungsmodus, so wird die Variable wieder sichtbar.
Sobald der Bericht mit einer in der Zeitdimension geänderten Sicht gespeichert wird, hier für den August, erscheint ebendieser Zeitpunkt im Berichtsnamen – automatisch. Das gilt auch, wenn zum Beispiel der Berichtsserver oder der Berichtsmappengenerator die Sicht aktualisiert.
Die Zeit im Berichtstitel widerzuspiegeln, ist ein sehr häufiger Anwendungsfall. Neben „{cp}“ stehen zahlreiche weitere Variablen zur Verfügung, die ausgehend vom jeweils aktuellen (im Bericht gespeicherten) Zeitpunkt zu anderen Zeitangaben führen. Sie kommen auch im Zusammenhang mit Zeitanalyseelementen vor, die ausführlich in den DeltaMaster clicks! 08/2007 beschrieben sind; dort findet sich eine Tabelle mit Beispielen für die Zeitvariablen.
Variablen im Berichtstitel – beliebige Dimensionen
Die Variable „{cp}“, die wir gerade benutzt haben, sowie die weiteren zeitlichen Variablen sind eine Kurzschreibweise, die wir deshalb eingeführt haben, weil sie so häufig verwendet werden. Statt „{cp}“ hätten wir ausführlich schreiben können: „{[Perioden].CurrentMember}“. Auch solche Ausdrücke werden ersetzt, durch das jeweils aktuelle Element in der angegebenen Dimension.
Der Ausdruck in geschweiften Klammern wird als MDX-Statement interpretiert, das ein Element (Member) oder einen Elementeigenschaftswert zurückgibt. Es kann also auch etwa auf ein Alias des Elements zugegriffen werden, wie „{[Perioden].CurrentMember.Properties(“LongName”)}“.
Innerhalb der geschweiften Klammern sind wir also nicht auf die Zeitdimension festgelegt. So könnten wir den Namen der Kundenregion mit in den Berichtstitel „einbauen“, wie nebenstehend gezeigt. Diese Variante ist besonders nützlich, wenn wir eine Auswertung in unterschiedlichen Perspektiven vorbereiten, zum Beispiel um sie vorberechnet parat zu haben oder einzeln zu exportieren.
Berichte mit dynamischen Namen vervielfältigen
Ein Beispiel: Wir haben eine auf- und absteigende Rangfolge über unsere Produkte erstellt, sortiert nach der Vorperiodenveränderung des Absatzes, und als „Renner-Penner-Liste“ gespeichert; man könnte auch Top-Flop-Liste oder Top-Bottom-Ranking dazu sagen. Diese möchten wir für jede unserer vier Regionen Nord, Ost, Süd, West vorbereiten. Damit wir die vier Berichte auseinanderhalten können, ist es wichtig, die jeweilige Region im Berichtstitel zu vermerken. Wenn wir den Berichtstitel mit „{[Kunden].CurrentMember}“ sichtabhängig formuliert haben, wie oben gezeigt, müssen wir uns darum nicht weiter kümmern.
Den Bericht kopieren und dabei in der Sicht ändern, das erledigt am einfachsten die Funktion Bericht aktualisieren aus dem Kontextmenü des Berichts.
Im Dialog wählen wir aus, dass wir den Bericht behalten und einen neuen Bericht erstellen möchten. Damit wird unsere erste Renner-Penner-Liste zur „Kopiervorlage“. In den neuen Berichten, die davon abgeleitet werden, ändern wir in der Dimension „Kunden“ das ausgewählte Element sukzessive auf Nord, Ost, Süd und West. Das Dialogfeld bleibt nach dem Aktualisieren geöffnet, sodass alle Kopien mit wenigen Mausklicks erstellt sind. Den Elementnamen sollten wir nicht an den Titel anhängen: Mit dieser Option würde das geänderte Element als statischer Text an den vorhandenen Berichtstitel angehängt. Da der Titel dank der Variablen bereits das betreffende Kundenelement enthält, würde diese Option das Element ein zweites Mal einfügen.
Als Ergebnis erhalten wir vier neue Berichte, die alle von selbst über ihre Sicht informieren.
Anstatt die Berichte selbst zu vervielfältigen, können wir die Aufgabe auch dem Berichtsserver übertragen. Damit erzeugen wir nicht nur einzelne Berichte, sondern ausgewählte Ordner oder sogar die gesamte Berichtsmappe in individuellen Ausführungen. Das sukzessive Ändern der Sicht auf bestimmte Elemente (das Iterieren) ist die Aufgabe des Berichtsgenerators. In einer Schleife werden alle ausgewählten Elemente durchlaufen, die Sicht intern geändert und separate Ausgabedokumente erzeugt. Auch bei diesen automatisch veranlassten Sichtänderungen wirken die Variablen. Hier zeigt sich der Vorteil der dynamischen Benennung besonders deutlich.
Noch bequemer
Meistens, wenn ein Dimensionselement in den Berichtstitel einbezogen werden soll, wird es das aktuelle sein („.CurrentMember“). Deshalb gibt es dafür ebenfalls eine Kurzschreibweise: „<viewX>“ wird aufgelöst zu dem aktuellen Element in der Dimension X, wobei X die interne Id der Dimension ist. Diese können Sie auslesen, wenn Sie bei gedrückter Alt-Taste mit der Maus auf den Dimensionsnamen im Fenster Sicht zeigen. Geschweifte Klammern sind nicht erforderlich.
In der Abbildung sehen wir, dass die Zeitdimension die Id 1 hat. Um ihr aktuelles Element in den Berichtstitel einzufügen, könnten wir also „<view1>“ schreiben – oder, wie oben beschrieben, auch „{[Perioden].CurrentMember}“ oder „{cp}“. Im Allgemeinen empfehlen wir, für die Zeitdimension die Zeitvariablen zu benutzen. So erkennt man beim Bearbeiten auf einen Blick, ob man es mit der Zeit oder einer anderen Dimension zu tun hat. Insbesondere ist damit der Zugriff auf andere Zeitelemente möglich, die ansonsten nur über kniffelige MDX-Ausdrücke zu erreichen sind, zum Beispiel „{pyaY,X}“ für die Vorjahresperiode auf der Ebene Y und mit Abstand X (siehe DeltaMaster clicks! 08/2007). Wenn es um das aktuelle Element einer anderen Dimension geht, ziehen wir „<viewX>“ der ausführlichen MDX-Notation vor. Letztere hat aber den Vorteil, dass sie auch andere Elemente als das aktuelle erreicht und Elementeigenschaftswerte zurückliefern kann.
Im Action Title (siehe DeltaMaster clicks! 10/2009) und im Berichtskommentar werden die Variablen übrigens bewusst nicht ersetzt: Hier sind persönliche Worte, Botschaften, Warnungen, Erklärungen, Hintergründe gefragt. Eine automatisierte Aktualisierung ist dafür ungeeignet.
Berichtstitel, Sicht und Achsendefinition
Bekanntlich können Elemente nicht nur in der Sicht, sondern auch in der Achsendefinition von Pivottabellen ausgewählt werden. Diese Abwägung ist ausführlich in den DeltaMaster clicks! 05/2009 beschrieben. Die Variablen beziehen sich stets auf das, was in der Sicht ausgewählt ist – auf Einstellungen in der Achsendefinition können sie nicht zugreifen.
Variablen im Ordnertitel
Auch im Namen von Ordnern wirken alle beschriebenen Platzhalter. Bei Ordnern ist aber eine Besonderheit zu beachten: Sie sind in erster Linie ein Ordnungsinstrument und keine eigene analytische Ansicht. Deshalb haben Ordner standardmäßig keine Sicht. Und ohne Sicht kann eine Sichtvariable im Ordnernamen nicht ersetzt werden, sodass der Ordnertitel unverändert wirkt. (Kann eine Variable nicht aufgelöst werden, zeigt DeltaMaster keine Fehlermeldung, sondern nichts – ein verunglückter Variablenausdruck verunstaltet also nicht die Berichtsmappe.)
Um die aktuelle Sicht im Ordner zu speichern, wählen Sie entweder die entsprechende Option in den Ordnereigenschaften (Kontextmenü) oder Sie speichern die Sicht vom Fenster Sicht aus in den Berichtsordner (Menü Startsicht).