Appli­­cation-Building mit SAP Analytics Cloud (SAC)

Mit dem Add-in Analytic Appli­cation bietet die SAP Analytics Cloud (SAC) vor allem für IT Developer eine neue Möglichkeit für das Story­telling und Dash­boarding. Damit schließt die SAC eine Lücke im Vergleich zu Lumira. Die wich­tigsten Neue­rungen im Überblick.

 

Dash­boarding – Die SAC in Mitten einer Trendwende

Story­telling, Dash­boarding und Appli­ca­tions sind die Schlag­wörter für wegwei­sende und revo­lu­tionäre Mittel zur Visua­li­sierung von Unter­neh­mens­daten. Der Trend geht zur Nutzung von Schalt­flächen für die Verwaltung von Top-Kenn­­zahlen (KPI Tiles). Dadurch können wert­trei­ber­ba­sierte Pfade definiert werden, um Infor­ma­tionen gezielter darzu­stellen. Diese Analy­se­pfade können speziell auf verschiedene Rollen im Unter­nehmen ausgelegt werden und bieten somit eine indi­vi­duelle und effek­tivere Infor­ma­ti­ons­ver­sorgung der Berichtsaddressaten.

Story­telling, adaptives Layout oder Report-to-Report-Jump gehören zu den Features, die in custo­mized Dash­boards Anwendung finden. Am Markt werden sowohl intuitive Self Service Tools für IT-affine Business User als auch hoch-indi­­vi­­dua­­li­­sierte Coding / Scripting Tools für IT-Experten angeboten. Das führende Produkt der zweiten Kategorie bietet die SAP innerhalb ihres Port­folios mit dem Lumira Designer an.

SAP Analytics Cloud (SAC) bot bislang mit teilweise einge­schränktem Funk­ti­ons­umfang die Möglichkeit zur Erstellung von Stories / Dash­boards durch Business User. Diese Simpli­zität wird nun durch ein an IT-Developer gerich­tetes Add-In erweitert, welches in der Cloud die Lücke im Vergleich zu Lumira schließt – die Analytic Application.

Doch die ständige, Device-über­­­grei­­fende Bereit­stellung von Infor­ma­tionen durch die Cloud ist nicht der einzige Nutzen, den die SAC bietet. Sie ist ein geeig­netes Hilfs­mittel, um eine Konso­li­dierung oder inte­grierte Planung abzu­bilden. Hierbei überträgt sich beispiels­weise die Planung von GuV-Posi­­tionen auto­ma­ti­siert in die der Bilanz und des Cash Flows und bildet somit einen in sich geschlos­senen Planungs­prozess. Doch auch im Bereich Prognose von Geschäfts­vor­fällen ist die SAC ein führendes BI-Tool. Cash-Fore­­casting sowie Vorher­sagen von Liefer- oder Zahlungs­aus­fällen sind nur einige der immer populärer werdenden Anwen­dungs­fälle von Predictive Analytics auf dem Markt.

 

Analytic Appli­cation – Das Custo­mizing Add-In zur Erwei­terung der SAC Story

Die erste Release Version der Analytic Appli­cation gewährt im Gegensatz zu den herkömm­lichen Story­boards der SAC sowohl die Möglichkeit zum Custo­mizing als auch extensive User-Inter­ak­­tionen innerhalb der Anwendung. Ein Überblick erster Features der Analytic Application:

 

Scripting

Den wesent­lichsten Vorteil der Analytic Appli­cation im Vergleich zu den klas­si­schen Stories aus der SAC bildet die Möglichkeit des Scrip­tings. Mittels Initia­­li­­sie­­rungs-Events können sämtliche Elemente / Widgets innerhalb einer Appli­kation ange­sprochen werden. Je nachdem, ob es sich bei den Widgets um Buttons, Radio Button Groups, Drop Down Menüs oder Filter Panels handelt, unter­scheiden sich auch die Initia­­li­­sie­­rungs-Events nach der Art wie der User mit einem Widget inter­agiert. So können beispiels­weise Drop Down Menüs oder Radio Button Groups mit der Selektion eines Wertes initia­li­siert werden (onSelect( )-Funktion) und Buttons hingegen mit dem Klick auf das Widget selbst (onClick( )-Funktion).

Doch nicht erst nach Hand­lungen von Benutzern können Befehle ausge­führt werden. Eine erste, initiale Befehls­kette wird durch die Ausführung der Appli­kation im Main­Canvas mit der Funktion onIn­itia­liz­ation( ) ausgelöst. Nach­stehend ein Coding-Beispiel, in dem das Drop Down Menü DNN_MeasureSelection mit allen Werten einer Dimension zur Zeit der Appli­ka­ti­ons­aus­führung befüllt wird. Weitere Details zu dem Code-Ausschnitt werden durch die Script-Kommentare beschrieben, welche mit // für einzeilige oder /* […] */ für mehr­zeilige Kommentare darge­stellt werden können.

Das Drop Down Menü kann ebenfalls manuell über die Designer-View mit Werten befüllt werden. Im Coding des Widgets muss nun, getriggert durch die onSelect( )-Funktion, bestimmt werden, was bei der Selektion eines Wertes aus dem soeben befüllten Drop Down erfolgen soll. Über das Löschen, Ersetzen oder Ergänzen von Dimen­sionen und Kenn­zahlen innerhalb von Tabellen oder Charts, bis hin zum Austausch ganzer Objekte, steht Usern eine über­sicht­liche Anzahl von Befehlen zur Verfügung, welche über die folgenden Release-Zyklen stetig erweitert werden sollen.

 

 

Linked Analysis     

Bei der Linked Analysis handelt es sich um die dyna­mische Inter­aktion zwischen Objekten bzw. Widgets. Bereits in einer SAC Story wird Usern erlaubt, flexibel Werte zu filtern, zu ordnen oder aber Diffe­renzen in einem Balken-Chart per Klick zu visua­li­sieren. Das alles zur Laufzeit, übrigens. Diese Aktionen mit Objekten können auf andere über­tragen werden. So kann beispiels­weise der Maus-Klick auf einen Balken im Chart einen Filter in einem anderen Chart auslösen.

Anders als die Story besitzt die Analytic Appli­cation diese Linked Analysis Funktion nicht out-of-the-box. Der enorme Vorteil ist jedoch erneut die Indi­vi­dua­lität bzw. das Custo­mizing des Dash­boards für jeden denkbaren Anwen­dungsfall und jede Anwen­der­gruppe. Im folgenden Beispiel wird die Filter-Selektion eines Balken-Charts „CHT_OrderVol_Market“ auf zwei weitere Charts („CHT_OrderVol_Category“ und „CHT_OrderVol_Segment“) über­tragen. Details werden erneut im Script-Kommentar beschrieben (Abbildung 2). In Abbildung 3 wird der Absatz­markt EU ausge­wählt. Diese Selektion wird in den Filter-Einstel­­lungen der weiteren Charts übernommen.

Zu beachten ist jedoch, dass eine Mehr­fach­se­lektion bislang noch nicht möglich ist, da die Funktion getSelection( ) lediglich einen ausge­wählten Wert zurück­geben kann. Ein zweiter ausge­wählter Wert wird von den Filter-Einstel­­lungen der weiteren Charts ignoriert, bis der bestehende Filter gelöscht bzw. aufge­hoben wurde.

 

Abbildung 2: Coding zur Über­tragung von Filterwerten

 

Abbildung 3: Auswirkung von Linked Analysis während Applikations-Ausführung

Sicht­barkeit von Objekten

Eine weitere Möglichkeit, wie man vom Scripting einer Analytic Appli­cation profi­tieren kann, liegt in der dyna­mi­sierten Sicht­barkeit von Objekten. Damit ist vor Allem das Aus- bzw. Einblenden von Widgets nach Inter­ak­tionen durch User gemeint. Ein denkbares Szenario bestünde darin, die drei Charts aus dem voran­ge­gan­genen Beispiel per Auswahl eines Radio Button Group (RGB)-Elements durch eine tabel­la­rische Anzeige zu ersetzen. Dafür muss der Klick auf ein Element der RBG Einfluss auf die Sicht­barkeit eines Objekts (Chart / Tabelle) nehmen.

Zu beachten ist, dass die Hide / Show Funktion im Layout-Panel (siehe Abbildung 4) die Sicht­barkeit eines Objekts zur Laufzeit der Appli­kation nicht beein­flusst. Diese Funktion ist lediglich für den Design- bzw. Entwick­­lungs-Modus relevant. Hier können über­lap­pende Objekte ausge­blendet werden, damit beispiels­weise Zellen einer Tabelle, die man forma­tieren möchte, nicht von einem anderen Widget verdeckt werden.

 

Abbildung 4: Hide/Show-Funktion im Layout Panel

Für das Ein- und Ausblenden von Widgets gibt es zwei Möglich­keiten. Zum einen kann man in den Styling-Einstellung des Designer-Modus unter „Actions“ die Checkbox „Show this item at view time“ anhaken. Die Methode ist jedoch statisch und wird im Beispiel lediglich dazu genutzt, die drei Charts bei initialer Ausführung der Appli­kation anzu­zeigen und die Tabelle auszu­blenden. Coding hingegen erlaubt Usern das dyna­mische Ein- und Ausblenden von Widgets.

Da die Sicht­barkeit der Widgets durch die Selektion der RGB-Elemente gesteuert werden soll, findet auch in diesem Objekt das onSelect( )-Coding statt. Dafür werden zuerst zwei Radio Buttons, einer für Tabellen und einer für die Charts, definiert. Auch hier besteht wieder die Möglichkeit, dies zur Ausführung der Appli­kation über das Coding im Main­Canvas zu veran­lassen. Im Beispiel und in Abbildung 5 zu sehen, wurde der Design-Modus verwendet, um die Radio Buttons zu erstellen. Im Beispiel wurde Chart als Default-Value einge­stellt, da diese Widgets mit der Ausführung angezeigt werden sollen.

 

Abbildung 5: Defi­nition der RBG-Elemente

Da lediglich zwei Optionen in der RBG zu wählen sind, kann mit einer einfachen if-else Funktion fest­gelegt werden, bei welcher Inter­aktion die Tabelle (TBL_OrderVol) erscheinen und die drei Charts (CHT_OrderVol_Market, CHT_OrderVol_Category und CHT_OrderVol_Segment) verschwinden sollen. In nach­ste­hendem Coding wird deter­mi­niert, dass im Falle der Chart-Selektion (getSelec­tedKey( )) alle Charts sichtbar und die Tabelle unsichtbar geschaltet werden (setVisibil(true/false)). Das Gegenteil tritt ein, sobald die Wenn-Bedingung nicht erfüllt wird.

Abbildung 6: RBG-Coding

Ausblick – SAC Analytic Appli­cation als stra­te­gi­sches Mittel zur Wahl

Analytic Appli­cation wird in den folgenden Release-Zyklen, mit der User-Freun­d­­lichkeit auf der einen Seite und dem Custo­mizing Ansatz auf der anderen, eine Weiter­ent­wicklung zum Lumira Designer anbieten.

Außerdem verspricht die Roadmap der SAC aussichts­reiche Schritte Richtung inno­va­tiver und wegwei­sende Bereiche wie Machine Learning, Robotics, oder Predic­tions und koppelt somit die Analytic Appli­cation unab­dingbar an die Entwick­lungs­the­matik Augmented Analytics.

Die SAP fokus­siert sich auf die Inte­gration von Reporting, Planung, Machine Learning und Augmented Analytics und setzt dabei auf die SAP Analytics Cloud als stra­te­gi­sches Tool.

 

Weiter News
  • Liqui­di­täts­planung

    Von Team #verovis

  • IBCS® – SIMPLIFY: Über­flüs­siges vermeiden

    Von Team #verovis

  • CCH Tagetik Versions-Upgrade

    Von Tobias Gabler