Diese Website verwendet Cookies um Dienste bereitzustellen und Zugriffe zu analysieren. Durch die weitere Nutzung dieser Website stimmen Sie unseren Cookie-Richtlinien zu. mehr erfahren

SAC Application Design – Teil 5: Scripting

Dieser Blog-Beitrag ist der fünfte Teil der Blog Serie SAC Application Design, in der es um den Application Design Modus innerhalb der SAP Analytics Cloud geht.

Nachdem die Grundlagen von SAP Analytics Cloud im ersten Teil der Blog-Serie behandelt wurden haben wir uns im zweiten Teil mit der Erstellung von Modellen befasst. In den Teilen 3 und 4 haben wir einen Blick auf Widgets im Allgemeinen, Tabellen und Grafiken geworfen.

In diesem letzten Teil der Blog-Serie soll es nun um die Scripting-Optionen des Application Design Modus innerhalb von SAP Analytics Cloud gehen.

1. SAP Analytics Cloud Scripting

Die Scripting-Funktionalität von SAP Analytics Cloud ist ein Feature, dass im Zuge der Veröffentlichung des Application Design Modus eingeführt wurde. Wie bereits zuvor beschrieben gibt es zwei grundsätzliche Arten wie in SAP Analytics Cloud Content erstellt wird: Entweder im Story oder aber im Application Design Modus.

Während sich der Story-Modus vor allem für das BI-Self-Service und Datenanalyse durch Business User eignet ermöglicht der Application Design Modus das erstellen von professionellen Dashboards. Der Unterschied zwischen den beiden Modi liegt in den Scripting Möglichkeiten.

Zwar können auch im Story-Modus Formeln verwendet werden aber wirkliches Scripting ist nur im Application Design Modus möglich. Die Sprache, die dabei verwendet wird ist „Typescript“: Eine angepasste Version von „Javascript“, das eine weit verbreitete Scriptsprache für Frontend-Anwendungen ist.

2. Scripting vs. Formeln

Leser, die sich bereits mit dem SAP Anlytics Cloud Story Modus beschäftigt haben werden bereits die Formeln im Allgemeinen sowie die sogenannten „Advanced Formulas“ kennengelernt haben. Mit diesen lassen sich auf einfache Art und Weise neue Measures und Dimensionen auf Basis der im Modell enthaltenen Daten berechnen.

Dies ist selbstverständlich auch im Application Design Modus mit Hilfe von Scripting möglich. Zusätzlich bietet Scripting die Möglichkeit die in Teil 3 dieser Blog-Serie besprochenen Widgets zu manipulieren und diese während der Laufzeit selbst anzusprechen.

Dadurch ergeben sich für den Designer viele neue Nutzungsmöglichkeiten und Anwendungsfälle, die allein durch Formeln nicht zu realisieren wären. Aus diesem Grund glauben wir, dass Veröffentlichung des Application Design Modus für SAP Analytics Cloud ein grosser Schritt nach vorne ist.

3. Wann lohnt sich Scripting?

Wie bereits angesprochen lassen sich in SAP Analytics Cloud bereits mit dem Story-Modus sehr ansprechende Dashboards erstellen. Allerdings haben Endnutzer oft spezifische Anforderungen an die Aufbereitung und Darstellung der zu analysierenden Daten und je spezifischer diese Anforderungen sind, desto schwieriger wird es diese mit den vorhandenen Standardfunktionen abzudecken. In solchen Fällen kann Scripting verwendet werden um die Anforderungen zu erfüllen.

Der erforderliche Zusatzaufwand hängt dabei stark von dem vorhandenen Vorwissen beim Scripting ab. Unter Umständen kann es auch einfacher und schneller sein gewisse Funktionalitäten mit Scripting umzusetzen. Ohne entsprechendes Scripting-Vorwissen allerdings, kann auch das Erstellen von sehr einfachen Funktionalitäten sehr zeitaufwendig sein oder aber auch komplett scheitern.

Die Beurteilung davon, ob es sinnvoll ist und lohnenswert ist Scripting im Application Design Modus zu verwenden, hängt also stark von den vorhandenen Kompetenzen sowie den umzusetzenden Anforderungen ab.

4. Erstellen eines funktionierenden Pop-ups

Dieses Blog ist soll kein komplettes Tutorial im Bereich SAP Analytics Cloud Scripting sein, sondern interessierten Lesern einen Einblick in die grundsätzlichen Funktionsweisen geben. Daher werden wir uns hier auf einige kleine Beispiel beschränken.

Die Scripting-Funktionen und ihre Anwendungen sind jedoch durch SAP im SAP Analytics Cloud Application Design API Reference Guide gut dokumentiert und für jeden frei verfügbar, sodass sich Interessierte hier leicht einlesen können. Wir werden uns im Folgenden hier mit der Erstellung eines Popups, einfachen Buttons sowie Radiobuttons beschäftigen.

a) Die einfachste Art Scripte zu erstellen ist, diese direkt dem Canvas Objekt oder aber einzelnen Widgets zuzuordnen. Um den Scripteditor für ein Widget aufzurufen, kann entweder auf das Funktionssymbol im entsprechenden Kontextmenü oder aber auf das Funktionssymbol in der Übersicht auf der linken Seite geklickt werden.

Dabei kann grundsätzlich zwischen „OnSelect“ und „OnResultchanged“ gewählt werden (Ausnahme z.B. R-Visualisierung), was bestimmt wann der Script aufgerufen wird.

b) Es ist sinnvoll den Grossteil des Scriptings in Funktionen unter „ScriptObjects“  zu Bündeln und diese Funktionen dann nur noch über die Widget-Scripts aufzurufen. Dadurch wird der Code in den einzelnen Widgets (von denen es in grösseren Applikationen sehr viele geben kann) minimiert, Funktionen können so einfach wiederverwendet werden und es ist wesentlich leichter Modifikationen durchzuführen .

c) Globale Variablen, auch „Script Objects“ genannt, ermöglichen es Werte von einem Sript-Teil zu einem anderen zu übergeben. In SAP Analytics Cloud ist können globale Variablen auch Arrays sein, wodurch mehrere Werte in einem einzigen Objekt übergebn werden.

d) Als erstes werden wir eine Radiobutton Gruppe erstellen um damit die Darstellung eines Graphen zu verändern beziehungsweise den Explorerview zu öffnen. Durch einen Klick auf „Add“ in der Taskleiste lässt sich einfach eine Radiobutton-Group einfügen.

Hier fügen wir eine dritten Radiobutton hinzu und geben tragen unter „Text (optional)“ die darzustellenden Namen der Buttons ein. Die Werte unterhalb von „Value“ werden nicht dargestellt sondern innerhalb des Scripts verwendet.

e) Anschliessend legen wir unter „ScriptObjects“ ein neues Script an und nennen die entsprechende Funktion „radiobutton_1″. Hier tragen wir unseren einfachen Code ein, damit nach dem Click auf die Buttons entweder die Sales-Werte für die Bundesstaaten …, die Werte für die Bundesstaaten … oder aber der Explorerview angezeigt werden. Zuletzt lassen wir diese Funktion aufrufen sobald sich der Wert der Radiobutton Gruppe ändert. Dies wird im Onselect“ Teil des Radiobutton-Widget selbst eingetragen. Danach kann diese kleine Funktionalität bereits nach einem Klick auf „Run Analytical Application“ getestet werden.

f) Als nächstes möchten wir ein Popup erstellen, welches mit einem Buttonklick geöffnet werden kann und eine sogenannte Heatmap erstellt. Dabei soll es möglich sein den Measure Sales in Beziehung zu den im Datensatz vorhandenen Dimensionen „state“, „credit card“ und „item“ zu setzen.

Zuerst erstellen wir dafür ein Button-Widget mit dem entsprechenden Namen. Anschliessend wird beim Button-Widget ein Code-Schnipsel eingefügt, damit man mit dem Knopf das Popup öffnen kann

g) Als nächstes fügen wir ein Popup-Widget ein. Dieses funktioniert mehr oder weniger wie eine Mini-Version des eigentlichen „Canvas“ und daher können wir den Heatmap Graphen auf die uns bereits bekannte Art und Weise einfügen. Zusätzlich aktivieren wir im Builder die Option „Popup Header & Footer“ und entfernen alle Haken neben dem „Cancel“ button (Wir benötigen nur den „OK“ Button zum Schliessen des Popups).

h)  Zuletzt wir in der Funktion „dropdown_1“ der notwendige Code hinterlegt, um die Funktionalität herzustellen. Damit diese Funktion bei einer neuen Auswahl auch aufgerufen wird, wird der entsprechende Call im OnSelect-Script des Dropdown Widgets hinterlegt.

5. Ausblick

Dies ist der letzte Teil unserer Blog-Serie. Wir hoffen, dass Sie nach dem Lesen einen besseren Überblick über die Funktionsweise von SAP Analytics Cloud gewonnen haben.

Da sich diese Blog-Serie in erster Linie an Leser ohne Vorwissen im Bereich SAP Analytics Cloud wendet konnte natürlich nur an der Oberfläche gekratzt werden. Jeder Blog-Eintrag könnte vermutlich selbst als eigene Blog-Serie umgesetzt werden ohne das Thema zu erschöpfen.

Dabei haben wir viele interessante Themen wie zum Beispiel die Planungsfunktionalität und Predictive Analytics komplett ausgespart. In Zukunft werden wir uns unter anderem auch mit diesen Teilaspekten im Detail auseinandersetzen.

SAC Application Design – Teil 1: Grundlagen

SAC Application Design – Teil 2: Modellierung

SAC Application Design – Teil 3: Widgets

SAC Application Design – Teil 4: Grafiken

6. Wie weiter:

Weitere Informationen finden Sie hier:  SAP Analytics Cloud Application Design    SAP Analytics Cloud

Möchten Sie wissen ob SAP Analytics Cloud die richtige Lösung für Ihre Anforderungen ist?

Melden Sie sich einfach bei uns unter info@plus-it.ch. Wir freuen uns.