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

DeltaMaster macht Schlagzeilen!

Die Aufgabe einer Schlagzeile besteht darin, die Aufmerksamkeit eines flüchtig und selektiv lesenden Betrachters zu erzielen, ihn anzusprechen und auf den anschließenden Fließtext zu leiten. Wer beispielsweise den Sportteil in der Tageszeitung liest, sucht nach Schlagzeilen über Sieger, herausragende Leistungen oder Verlierer. Was aber erregt unsere Aufmerksamkeit und den Drang, mehr zu erfahren? Sicher nicht die Tatsache , dass eine Fußballmannschaft 1:0 gewonnen hat. Vielleicht aber der Hinweis, dass der Siegtreffer in der letzten Spielminute erzielt wurde. Es ist also die Erwähnung eines kleinen, aber interessanten Details, das unser Interesse weckt. Könnten derartige Schlagzeilen ihre Wirkung auch bei Berichten entfalten und den Leser zum intensiven Studium bewegen? Die erforderliche Technologie für Schlagzeilen hätte DeltaMaster zumindest schon an Bord: Berichtsüberschriften. Was aber schreiben wir? Und wie sorgen wir für dynamische Texte? Der folgende Beitrag soll anhand eines Praxisbeispiels Anregungen liefern, wie man mit DeltaMaster und ein wenig MDX zum Chefredakteur wird.

Ausgangspunkt

In einem Kundenworkshop entwickelten wir einen Bericht, der im Wesentlichen die Umsätze von Filialen und ausgewählten Fokusprodukten der letzten sieben Tage zeigte. Plan- und Vorperiodenabweichung inklusive. Der Bericht war im Sinne der Stilfibel erstellt, informationsdicht, optisch ansprechend. Dennoch stellten wir fest, dass trotz tagesgenauer Zahlen immer noch das gewisse Etwas fehlte, um den Leser zum intensiven Studium des Berichts einzuladen. Eine Schlagzeile musste also her! Hierbei reichte es nicht, die umsatzstärkste Filiale in der Überschrift namentlich zu erwähnen. Allenfalls nahm man dies zur Kenntnis, schaute auf die erste Berichtszeile und stellte fest, dass die Überschrift richtig war. Daher haben wir uns auf die Suche nach einem spannenden Detail „zwischen den Zeilen“ gemacht.

Lösungsvorschlag

Am besten gefiel uns die Idee, eine weitere Information preiszugeben, die es gar nicht im Bericht gab: den Verkäufer des Tages! Damit werden zwei Fliegen mit einer Klappe geschlagen. Erstens erzielen wir die Wirkung einer Schlagzeile und stoßen Denkprozesse beim Leser an, zu deren Beantwortung der Bericht hilft. Gehört die Filiale des umsatzstärksten Verkäufers auch zu den umsatzstärksten Filialen? Ist sie vielleicht sogar die umsatzstärkste Filiale? Kommen die Top-Verkäufer eher aus kleinen Filialen (mit wenigen Verkäufern und vergleichsweise wenig Gesamtumsatz) oder aus großen Filialen (mit vielen Verkäufern und vergleichsweise viel Gesamtumsatz)? Wie oft kam der Name in der Vergangenheit vor? Erfüllt seine Filiale die Planvorgabe? Ist er deshalb Top-Verkäufer, weil die Filiale vergleichsweise stark mit den Fokusprodukten agiert? Und so weiter. Zweitens hätten wir den Verkäufer als weiteres Merkmal ohnehin gerne in den Bericht integriert. Aus Gründen der Lesbarkeit des Berichts haben wir uns jedoch dagegen entschieden. Durch die Verlagerung in die Überschrift ist der Verkäufer nun doch adressiert. Außerdem wäre dies ein guter Hinweis auf weitere Pfade zur Analyse der angezeigten Werte, wie beispielsweise auf eine Pivotnavigation der Filialen nach Verkäufer. Wir entschieden daher, den Namen, den Umsatz und die Filiale des Verkäufers des Tages in der Berichtsüberschrift anzuzeigen.

Umsetzung

DeltaMaster bietet die Möglichkeit, MDX-Statements in Berichtsüberschriften einzubinden und auszuführen. Die folgenden Beispiele zur Erzeugung der oben skizzierten Überschrift seien am Beispiel der Chair-Datenbank verdeutlicht. Zur Ermittlung des Top-Verkäuferteams wäre zunächst ein Ranking (TOPCOUNT-1) der Teams nach Umsatz erforderlich:

TopCount([Vertretergruppe].[Vertretergruppe].[Vertretergruppen].members, 1, [Measures].[Umsatz])

Damit der Name des Top-1 Teams in der Berichtsüberschrift angezeigt wird, müssen wir zunächst das Ergebnisobjekt des TopCount-Befehls mittels .item(0)-Befehl vom Typ „Set“ in den Typ „Member“ umwandeln. Abschließend muss durch den .name-Befehl aus einem Member ein Textobjekt erzeugt werden. Nur so wird der Name eines Members in der Berichtsüberschrift (durch Einbettung in geschweifte Klammern) angezeigt werden:

{TopCount([Vertretergruppe].[Vertretergruppe].[Vertretergruppen].members, 1, [Measures].[Umsatz]).item(0).name}

Um den Umsatzwert zu erhalten benötigen wir einen Filter-Analysewert, der sich aus dem oben ermittelten Top-1 Verkäufer und dem Analysewert „Umsatz“ ergibt. Typkonvertierungen wie zuvor beschrieben sind hier nicht notwendig, da es sich beim Rückgabeobjekt um eine Zahl handelt:

{(TopCount([Vertretergruppe].[Vertretergruppe].[Vertretergruppen].members, 1, [Measures].[Umsatz]), [Measures].[Umsatz])}

Folgende Screenshots zeigen das Ergebnis (die Zeilenumbrüche dienen hier nur der besseren Lesbarkeit des MDX-Codes; in der Praxis wird alles im Fließtext gestaltet):

Ausblick

Zur datengetriebenen Generierung von Berichtsüberschriften können zahlreiche MDX-Statements mit nahezu allen Befehlen der MDX-Funktionsbibliothek verwendet werden. Auf diese Weise haben wir im Kundenworkshop neben dem Top-Verkäufer auch noch den Umsatzanteil eines der Fokusprodukte in der aktuellen Trendfarbe ermittelt und als Detailinfo in der Überschrift angezeigt. Zur Anzeige von Objektnamen ist aber stets zu beachten, dass jedes MDX-Ergebnisobjekt unter Zuhilfenahme der oben genannten Funktionen (.item, .name) in ein Textobjekt konvertiert wird. Selbst IIF- oder CASE-Statements können kreativ zur Generierung von Texten verwendet werden. So lassen sich beispielsweise Textbausteine definieren, die in Abhängigkeit von Bedingungen unterschiedliche Texte ausgeben. Ein einfacher Fall für einen solchen Textbaustein wäre die begriffliche Unterscheidung, ob ein Wert gegenüber dem Vorjahr gefallen oder gestiegen ist. Wie hier vorzugehen ist und was man damit alles anstellen kann, erfahren Sie in Kürze in einem weiteren Blogbeitrag. Bleiben Sie dran!