DeltaMaster clicks! 08/2016

Mit Variablen empfängerabhängig und automatisch publizieren

PDF Download

Liebe Datenanalysten,

wer mehr als einen Adressaten informieren oder anschreiben möch­te, kommt fast zwangsläufig mit dem Konzept von Variablen in Be­rüh­rung – auch wenn die nur in der Datenverarbeitung so heißen und sonst eher Platzhalter genannt oder einfach ausgelassen werden. So beginnen Entwürfe und Vorlagen oft mit „Sehr geehrter Herr …“, mit Auslassungs­punkten. Diese sind natürlich als Variable gemeint, denn im Ergebnis soll hier ja gerade nichts ausgelassen, son­dern et­was ganz Individuelles eingesetzt werden. Wer seine Adres­saten au­toma­tisch anschreiben und informieren möchte, tut das besonders effi­zient mit dem Publisher bzw. Berichtsserver von DeltaMaster. Wenn man so will, ist jeder Job im Publisher ein Ent­wurf, eine Vor­lage für die Korrespondenz, in der genau festgelegt ist, wie welche Berichte aktualisiert, ange­passt und verteilt werden sol­len. Zur indi­vi­duellen Anpassung steht eine Reihe von Variablen zur Verfü­gung. Welche das sind und was man darüber wissen sollte, er­läu­tern wir in diesen clicks!, vollständig und ohne Auslas­sung.

Herzliche Grüße
Ihr Team von Bissantz & Company

Mit dem DeltaMaster Publisher bzw. Berichtsserver lassen sich Berichte individuell für unterschiedliche Empfänger anpassen. Diese Individualisierung hat mindestens zwei Facetten: Zum einen müssen die Berichte in sich individualisiert sein, inhaltlich – sie sollen genau die Daten zeigen, die dem Empfänger zugedacht sind und für die er verantwortlich ist. Zum anderen muss die Ausgabe individualisiert sein, technisch – es soll für jeden Empfänger eine eigene E-Mail versendet oder eine eigene Datei gespeichert werden. Jeder Empfänger hat natürlich eine eigene E-Mail-Adresse, jede Datei benötigt einen eigenen, eindeutigen Dateinamen bzw. Speicherort, damit sie nicht überschrieben wird, wenn der Publisher das nächste Element verarbeitet.

Den ersten Aspekt, wie man Berichte inhaltlich individualisiert, haben wir in der letzten clicks!-Ausgabe beschrieben: Das geht über die Sicht, die Filtereinstellungen der Berichte. Diese kann der Publisher automatisch anpassen, mit dem Berichtsgenerator sogar wiederholt, in einer Schleife für mehrere Ele­mente (Iteration). Wie man die Ausgabe technisch individualisiert, beschreiben wir im Folgenden. Im Grunde ist es ganz einfach: Das geht mit Variablen!

Individualisierung durch Variablen

Die automatische Anpassung durch den Publisher ist in der Jobdefinition geregelt, in den Fenstern Be­richtsupdate, Berichtsordner, Berichtsgenerator und Berichtsempfänger.

Einstellungen für Jobs mit den Fenstern Berichtsupdate, Berichtsordner, Berichtsgenerator und Berichtsempfänger

Auf alles, was in diesen vier Abschnitten festgelegt ist, kann man mit Variablen zugreifen und mit diesen die Ausgabe individualisieren:

  • auf den Namen und die Eigenschaften von Elementen aus dem Berichtsupdate,
  • auf die Namen von Berichtsordnern,
  • auf die Namen und Eigenschaften der Elemente, die durch den Berichtsgenerator sukzessive abge­arbeitet (iteriert) werden, und
  • auf die Adressen von Berichtsempfängern, die den Berichtsgenerator-Elementen zugeordnet sein können. Auf die Adressen gehen wir weiter unten ausführlich ein.

Diese vier Abschnitte sind gewissermaßen die Quellen für die Variablen: Hier ist spezifiziert, wie sie ihre Werte bekommen. Verwendet werden die Variablen in den Feldern der Jobdefinition, allen voran im Feld Adresse, um variable Dateinamen und Verzeichnisse im Dateisystem sowie E-Mail-Adressen zu beschreiben. Auch in den Feldern Exportvorlage, E-Mail-Betreff, E-Mail-Text, E-Mail-Anhang und Benach­richtigung (weiter rechts in der Jobdefinition, hier nicht abgebildet) arbeitet man oft mit Variablen.

Definition von Jobs zur Berichtsverteilung mit den Feldern Name, Berichtsquelle (Anwendung), Berichtsformat, Verteilungsart, Adresse, OLAP-Server, OLAP-User und Passwort

Bei der Jobausführung ersetzt der Publisher die Variablen durch konkrete Ausprägungen, zum Beispiel durch den im Berichtsupdate eingestellten Monat, durch den Namen von Niederlassungs‑ oder Kosten­stellenleitern aus dem Berichtsgenerator oder durch die ihnen zugeordneten E-Mail-Adressen. Aus einer Adressangabe wie „C:\Chair AG\@IMN.doc“ wird so beispielsweise „C:\Chair AG\Süd.doc“.

Berichtsserver-Variablen, Teil 1

Die folgenden Variablen stehen zur Verfügung, um die veränderlichen Bestandteile aus den vier Fens­tern in den Feldern der Jobdefinition zu referenzieren.

@DxxName des Berichtsupdate-Elements in der Dimension mit der Id xx. Der Variablenname steht für „Dimension“.
@PxxyyElementeigenschaftswert des Berichtsupdate‑ oder Berichtsgenerator-Elements in der Dimen­sion mit der Id xx und der Elementeigenschaft mit der Id yy. Der Variablenname steht für „Property“.
@FxxName des Berichtsordners mit der Id xx. Der Variablenname steht für „Folder“.
@IMNName des aktuellen Berichtsgenerator-Elements. Der Variablenname steht für „Iterator Member Name“.
@IDAAdresse, die dem aktuellen Element aus dem Berichtsgenerator zugeordnet ist, entweder gemäß der als Adresse ausgewählten Elementeigenschaft im Fenster Berichtsgenerator oder der Adressliste im Fenster Berichtsempfänger. Der Variablenname steht für „Iterator Distri­bution Address“.

Die Ids sind numerische Angaben und in der DeltaMaster-Sitzung leicht zu ermitteln. Dazu zeigen Sie im Bearbeitungsmodus von DeltaMaster 6 bei gedrückter Alt-Taste mit der Maus auf das entsprechende Objekt: auf eine Dimension in der Filterleiste bzw. auf einen Ordner in der Be­richtsliste.

Dimension eines OLAP-Würfels in der Filterleiste von DeltaMaster

Die Id einer Elementeigenschaft (das „yy“ in „@Pxxyy“) er­mitteln Sie beim Modellieren mithilfe des Dimensions­brow­sers: Auf der Registerkarte Ebenen öffnen Sie die Auswahlliste in der Spalte Alias und zählen die Position der gewünschten Eigenschaft ab. Die oberste Eigenschaft, „(keines)“, hat die Id ‑1 und ist im Publisher nicht verwendbar; dann geht es mit 0, 1, 2 weiter. Für DeltaMaster 5 gelten diese Hinweise analog; der Filterleiste entspricht das Fenster Sicht, die Id einer Ele­ment­eigenschaft kann zusätzlich im Modell-Browser (Menü Modell im Modus Miner) auf der Register­karte Modell abgelesen werden.

E-Mail-Adressen von Berichtsempfängern als Elementeigenschaft

Alle Ids müssen zweistellig angegeben werden, gegebenenfalls mit führender Null, zum Beispiel „@D01“ für die Dimension mit der Id 1.

Sollte eine Variable nicht aufgelöst werden können, weist der Publisher im Monitor (DeltaMaster 5: Ablaufprotokoll) darauf hin und greift stattdessen auf den Variablennamen zurück. Dadurch sind Fehler schnell zu erkennen: Wenn beispielsweise eine Datei namens „@IMN.doc“ generiert wird, ist das ein Zeichen, dass kein Berichtsgenerator definiert wurde.

Beim Exporttyp „file“ gibt die Adresse den Dateinamen und den Pfad der Datei an. Beide können mit Variablen angegeben werden, auch der Pfad, zum Beispiel „C:\Chair\@IMN\Vertrieb.doc“. Falls das Verzeichnis noch nicht existiert, legt es der Publisher automatisch an.

Weitere Variablen sind am Ende dieser clicks! aufgeführt.

Adressen von Berichtsempfängern: die Variable „@IDA“

Wir halten fest: Was der Publisher jeweils in Bearbeitung hat, kann über Variablen referenziert und weiterverwendet werden. Speziell für den Berichtsversand per E-Mail (Verteilungsart „mail“) benötigt man aber nicht nur eine Variable, die zum Beispiel den Namen der aktuellen Vertriebsregion enthält, sondern eine zweite – nämlich die E-Mail-Adresse des Empfängers, dem das erzeugte Dokument gesen­det werden soll. Dafür gibt es die Variable „@IDA“. Sie liefert die Adresse zurück, die dem aktuell ver­arbeiteten Berichtsgenerator-Element, „@IMN“, zugeordnet ist.

Elemente und Adressen können auf zweierlei Weise zugeordnet sein: Entweder werden die Adressen

  • im Analysemodell mitgeführt, in Form von Elementeigenschaften, oderlicks
  • direkt im Publisher gepflegt, im Fenster Berichtsempfänger. Durch diesen Mechanismus ist die au­tomatische Berichtserzeugung und ‑verteilung mit jeder Anwendung möglich, unabhängig vom Datenmodell und ohne dieses anpassen zu müssen.

Übrigens, auch wenn hier und im Folgenden von E-Mail-Adressen die Rede ist: Die Technik eignet sich ebenso für andere Arten von Textbestandteilen, die Sie empfängerabhängig in Datei‑ oder Verzeichnis­namen, den E-Mail-Betreff usw. einfügen möchten.

Adressen aus dem Analysemodell verwenden

Elementeigenschaften (Member Properties) sind Zusatzinformationen zu Dimensionselementen. Sie lassen sich auf vielfältige Weise nutzen, wie in den DeltaMaster clicks! 11/2015 ausgeführt, zum Bei­spiel, um Stammdatenmerkmale aus dem ERP-System, Aliasse oder Bezeichnungen in mehreren Spra­chen im Analysemodell verfügbar zu machen. Auch E-Mail-Adressen können als Elementeigenschaft gespeichert werden, zum Beispiel für Außendienstmitarbeiter, Niederlassungsleiter, Kostenstellen­ver­antwortliche, Produktmanager oder Geschäftsbereichsleiter, vorausgesetzt, diese sind als eigen­ständige Dimensionselemente modelliert.

Im Berichtsgenerator kön­nen Sie für jeden Eintrag (für jede Dimension) aus­wählen, welche Element­eigenschaft als Adresse ver­wendet werden soll.

Berichtsgenerator zum Versenden von Berichten an mehrere Adressen

Adressen im Publisher pflegen

Alternativ ordnen Sie den Elementen des ausgewähl­ten Berichtsgenerators die gewünschten Adressen im Fenster Berichtsempfänger zu. In der Liste steht links der Name eines Elements, rechts geben Sie die Adres­se ein, die für dieses Element verwendet werden soll.

E-Mail-Adressen von Berichtsempfängern verwalten

Mit den Befehlen oben rechts im Fenster bearbeiten Sie die Liste.

Neuer EmpfängerLegt einen neuen, leeren Eintrag in der Liste an. Geben Sie den Namen des Ele­ments und die Adresse ein. Der Befehl ist vor allem dann nützlich, wenn Sie eine Adresse für ein Element hinterlegen wollen, das noch nicht oder nicht immer im Berichts­generator enthalten ist, zum Beispiel, weil es von einer in MDX formu­lierten Bedingung abhängt. Um eine leere Liste erstmalig einzurichten oder eine bestehende zu erweitern, ist es einfacher, wenn Sie sich die Liste erzeugen lassen.
LöschenLöscht die ausgewählte Zeile (ohne Rückfrage).
Liste erzeugenErstellt oder aktualisiert die Empfängerliste, basierend auf der aktuellen Spezifi­ka­tion im Berichtsgenerator. Für jedes Element, das nicht bereits im Fenster Berichts­empfänger referenziert ist, wird ein neuer Eintrag angelegt. Ist ein Element bereits referenziert, so bleibt der Eintrag unverändert erhalten (Adresse, User Id und Pass­wort werden nicht geändert). Elemente in der Empfängerliste, die in der aktuellen Elementauswahl nicht mehr vorkommen, werden entfernt.
Die erste Einrichtung der Liste ist also schnell erledigt: Mit nur einem Klick lassen Sie den Publisher die Liste erzeugen – schon steht das Verzeichnis und Sie kön­nen zu den automatisch vorgegebenen Namen die zugehörigen Adressen eingeben.E-Mail-Verteiler für Management-Berichte anlegen

 

E-Mail-Verteiler für Management-Berichte anlegen

Optional lassen sich für die einzelnen Elemente spezifische Benutzernamen (User Id) und Passwörter hinterlegen. Damit kann sich der Publisher mit den Berechtigungen des jeweiligen Benutzers an der Datenbank anmelden und hat so dieselbe Sicht auf die Datenbank wie der Benutzer selbst. Benutzer­name und Passwort werden unverschlüsselt in der Publisher-Datenbank gespeichert.

Das Fenster Berichtsempfänger ist nur freigeschaltet, wenn bereits ein Berichtsgenerator ausgewählt ist. Sobald mindestens ein Name eingetragen ist, arbeitet der Publisher nach der Liste und erwartet, dass für jedes Berichtsgenerator-Element ein Eintrag vorhanden ist. Fehlt ein Eintrag, so überspringt der Publisher dieses Element, generiert keine Ausgabe und vermerkt dies im Monitor bzw. Ablaufprotokoll. Ist ein Ein­trag vorhanden, aber die Adresse leer, wird ersatzweise der Wert aus der im Berichtsgenerator zuge­wie­senen Elementeigenschaft herangezogen; fehlt diese, setzt der Publisher den Variablen­namen „@IDA“ ein.

Beispiele

Um die Funktionsweise der Variablen zu verdeutlichen, haben wir zwei Jobs angelegt, die Berichte aus derselben Analysesitzung (Berichtsquelle) erstellen bzw. verteilen. Der erste Job soll Word-Dokumente exportieren und lokal speichern, der zweite soll die Berichte als HTML-Mail versenden.

Jobs zur Berichtsverteilung mit Einstellung von Vorlage (Berichtsquelle), Exportformat und Verteilungsart

Für beide Jobs gelten diese Verarbeitungsvorschriften:

  • Als Berichtsupdate soll in der Zeitdimension (mit der Id 2) „Aug 2015“ ausgewählt werden,
  • nur der Berichtsordner „Vertrieb“ (mit der Id 10) soll berücksichtigt werden und
  • der Berichtsgenerator soll über die Elemente „Nord“, „Süd“, „Ost“ und „West“ iterieren.

Für den ersten Job lautet die Adresse „C:\Chair AG\@F10 @IMN, @D02.doc“, das Fenster Berichts­empfänger bleibt leer.

Führt man den Job aus, erzeugt er vier individuelle Dokumente mit sprechenden Dateinamen. Ebenso sind die Filter in den enthaltenen Berichten gesetzt.

Aus einer Vorlage werden mehrere Word-Dokumente generiert, mit sprechenden Dateinamen und individuellen Filtern

Für den zweiten Job lautet die Adresse schlicht „@IDA“. Im Fenster Berichtsempfänger ist eine Liste wie die auf Seite 5 angelegt: Dem Element „Süd“ ist die Adresse „vertrieb-sued@example.com“ zugeordnet, dem Element „Nord“ die Adresse „vertrieb-nord@example.com“ usw. Die Kennzeichnung, um welche Auswertungen, welche Region und welche Periode es geht, wird der Nachricht im E-Mail-Betreff mitge­geben: „@F10 @IMN, @D02“.

Führt man den Job aus, versendet er vier E-Mails an vier verschiedene E-Mail-Adressen, mit indi­vidueller Betreffzeile und individuellem Be­richtsinhalt.

E-Mails mit Controlling-Bericht im Anhang und individueller Betreffzeile

Besonders wertvoll werden solche Nachrichten, wenn man die Betreffzeile nicht nur zum An­künden von Information nutzt, sondern zum Verkünden – indem man schon dort die wichtigste(n) Kennzahl(en) aus dem wichtigsten Bericht zitiert. Dies ermöglicht die Variable „@Report“, wie im nächsten Abschnitt angedeutet und in der dort ge­nannten Quelle ausgeführt.

E-Mail mit den wichtigsten Kennzahlen aus dem Bericht im Subject

Ein weiteres Beispiel, nämlich: wie Sie die Ausgabe mit Elementeigenschaften („@Pxxyy“) anpassen, bis hin zur persönlichen Anrede, finden Sie in den DeltaMaster clicks! 11/2011 („Personalisierte E-Mails mit dem Berichtsserver versenden“).

Berichtsserver-Variablen, Teil 2

Neben den oben vorgestellten Variablen, die sich auf Bestandteile der Jobdefinition beziehen, gibt es weitere, mit denen Sie die Ausgabe des Publishers anpassen können. Der Vollständigkeit halber führen wir sie hier mit auf.

Variablen für Berichtsinhalt (Zellwerte, Änderungen gegenüber vorheriger Berechnung)

Die folgenden vier Variablen beziehen sich auf den Berichtsinhalt. Sie werden vor allem dazu genutzt, die Betreffzeile und den Text von automatisch generierten E-Mails anzupassen (Felder E-Mail-Betreff und E-Mail-Text in der Jobdefinition).

@Reportx!RyCzWert der Zelle in Zeile y (engl. row), Spalte z (engl. column) im Bericht x
@Reportx#RAnzahl der Zeilen im Bericht x („R“ wie engl. „rows“, Zeilen)
@Reportx#+RAnzahl der Zeilen im Bericht x, die im Vergleich zum vorherigen Job-Durchlauf dazugekommen sind
@Reportx#-RAnzahl der Zeilen im Bericht x, die im Vergleich zum vorherigen Job-Durchlauf entfallen sind

Die Berichts-Id x ermitteln Sie wie die von Dimensionen und Berichtsordnern: indem Sie im Bearbei­tungsmodus bei gedrückter Alt-Taste mit der Maus auf den Bericht in der Berichtsliste zeigen.

Ausführliche Hinweise liefern die DeltaMaster clicks! 06/2013 („Bessere Betreffzeilen für E-Mails durch Werte aus den Berichten“) und 06/2015 („Änderungen in automatisch aktualisierten Berichten hervor­heben“).

Variablen für Exportvorlagen

Die Ersetzung von Variablen kann der Publisher nicht nur in seinen eigenen Einstellungen ausführen, sondern auch in den Vorlagen für den Export nach Microsoft Office und ins PDF-Format (Dateien „DeltaMaster.dot/.pdf/.pot/.potx/.xlt“ oder entsprechende eigene Vorlagendateien). Die folgenden Vari­ablen lassen sich in Exportvorlagen platzieren und werden in den Ausgabedokumenten ersetzt.

@shortdateDatum des Exports im Kurzformat gemäß Windows-Einstellungen, zum Beispiel „14.07.2016“.
@shorttimeUhrzeit des Exports im Kurzformat gemäß Windows-Einstellungen, zum Beispiel „13:59“.
@longdateDatum des Exports im Langformat gemäß Windows-Einstellungen, zum Beispiel „Donnerstag, 14. Juli 2016“
@longtimeUhrzeit des Exports im Langformat gemäß Windows-Einstellungen, zum Beispiel „13:59:12“
@databaseName der Datenbank, auf der die Berichtsquelle (Anwendung/Analysesitzung) basiert
@cubeName des OLAP-Würfels, auf dem die Berichtsquelle basiert

So lässt sich beispielsweise auf dem Deckblatt eines Word-Dokuments das Erstellungsdatum einfügen. Diese Variablen werden auch in der Adresse, im E-Mail-Betreff usw. erkannt und ersetzt. Die Uhrzeit eignet sich jedoch nicht als Adresse für die Verteilungsart „file“, da sie üblicherweise mit einem Doppel­punkt angegeben wird und dieser in Dateinamen nicht zulässig ist.

Variablen für Sprachen

In der Jobdefinition können eine oder mehrere (Oberflächen‑)Sprachen und Alias Sets eingestellt werden, in die die Berichtsquelle umgesetzt werden soll, vgl. DeltaMaster deltas! 5.5.4, Punkt 9. Auch dies ist eine Iteration, die man mit Variablen referenzieren kann.

Berichte in mehreren Sprachen und mit Alias Sets erzeugen

@aliassetaktuelles Alias-Set aus der Iteration über die Elemente im Feld Alias Set der Jobdefi­nition
@languageaktuelle Sprache aus der Iteration über die Elemente im Feld Sprache der Jobdefi­nition

Die Variablen sind insbesondere für die Adresse von Bedeutung, wenn ein Job Dokumente in mehreren Sprachen ausgeben soll, sowie für die Exportvorlage, wenn diese Exporte auf sprachabhängigen Vorlagen basieren sollen.

Variablen für CSV-Export

Beim Export im Format CSV (Comma-Separated Values) wird jede exportierte Tabelle in eine eigene Datei geschrieben. Das erleichtert die Datenübernahme in andere Systeme – und ist ein Unterschied zu den übrigen Exportformaten, bei denen alle Berichte in nur eine Datei geschrieben werden. Daher muss die Adresse beim CSV-Export auch einzelne Berichte differenzieren können. Das leisten die folgenden Variablen.

@ridId des gerade verarbeiten Berichts. Der Variablenname steht für „Report Id“.
@rnName des gerade verarbeiten Berichts. Der Variablenname steht für „Report Name“.

Der CSV-Export ist ausführlich in den DeltaMaster deltas! 5.4.9, Punkt 9, erläutert.