Die Welt der Business Intelligence entwickelt sich rasant weiter, und SAP Analytics Cloud (SAC) Analytic Application bietet leistungsstarke Werkzeuge, um datengesteuerte Einblicke zu gewinnen und interaktive Dashboards zu erstellen. Ein besonders faszinierender Aspekt ist die Möglichkeit, durch Skripting die Funktionalität dieser Anwendungen zu erweitern. In diesem Artikel tauchen wir tief in die sac analytic application ein und zeigen Ihnen, wie Sie ein motivierendes Belohnungssystem implementieren können, das Nutzer für ihre Spitzenleistungen hervorhebt. Wir beleuchten die notwendigen Schritte und Objekte, um eine dynamische Anwendung zu schaffen, die Spitzenreiter nicht nur identifiziert, sondern auch entsprechend würdigt.
I. Die Kernidee: Spitzenreiter motivieren mit der SAC Analytic Application
Stellen Sie sich eine Anwendung vor, in der Nutzer ihre Aktivitäten, beispielsweise Schritte, erfassen, um in einem Wettbewerb zu stehen. Das Ziel ist nicht nur, die Rangliste anzuzeigen, sondern auch die führenden Nutzer zusätzlich zu motivieren. Hier kommt die sac analytic application ins Spiel, indem sie durch Skripting eine automatische Ehrung ermöglicht, wenn ein Nutzer die Führung übernimmt. Dies geschieht durch eine visuelle Bestätigung in Form eines Pop-ups.
Um dieses System zu realisieren, sind mehrere Komponenten erforderlich:
- Ein Diagramm, das den aktuellen Spitzenreiter visualisiert.
- Speziell definierte Variablen, die den Führungsstatus und die zugehörigen Texte verwalten.
- Ein Pop-up-Fenster, das angezeigt wird, sobald ein Nutzer die Führungsposition erreicht.
- Das Skript, das die Daten des Diagramms analysiert und das Pop-up entsprechend auslöst.
Im Folgenden werden wir diese Elemente detailliert betrachten und deren Implementierung in Ihrer sac analytic application Schritt für Schritt erklären.
Ein Nutzer tritt auf die Ziellinie und erhält eine Auszeichnung
II. Verborgene Einblicke: Das Diagramm für Spitzenreiter
Um herauszufinden, wer aktuell die Führung innehat, beginnen wir mit der Integration eines Diagramms. Dieses Diagramm wird nicht direkt für den Endnutzer sichtbar sein, sondern dient ausschließlich der internen Logik der Anwendung. Wir konzentrieren uns hierbei auf die Anzeige der Top 2 Nutzer. Dies ist entscheidend, da wir nicht nur den Erstplatzierten, sondern auch den Zweitplatzierten kennen müssen, um dem Spitzenreiter mitteilen zu können, mit welchem Vorsprung er oder sie führt.
In der sac analytic application fügen Sie ein neues Diagramm hinzu. In den Stiloptionen dieses Diagramms deaktivieren Sie die Funktion “Dieses Element zur Anzeigezeit anzeigen”. Dadurch bleibt das Diagramm für den Nutzer verborgen, während seine Daten weiterhin für Skriptingzwecke zugänglich sind. Diese Technik ist ein gängiger Ansatz, um komplexe Analysen im Hintergrund durchzuführen, ohne die Benutzeroberfläche zu überladen.
Abbildung 2: Die Einstellung, um ein Element in der SAC Analytic Application auszublenden.
III. Die Bausteine der Logik: Neue Variablen erstellen
Für die korrekte Auszeichnung eines Nutzers, sobald er die Führung übernimmt – sei es durch eine neue Eingabe oder eine Änderung bestehender Daten – benötigen wir zusätzliche Variablen. Wir erstellen zwei Variablen vom Typ “Boolean” (Wahr/Falsch). Diese dienen dazu, zu unterscheiden, ob der Nutzer neu die Führung übernommen hat oder ob er diese Position bereits innehatte. Diese Unterscheidung ist wichtig für die differenzierte Anzeige und Logik im Pop-up.
Darüber hinaus ist es essenziell, dem Nutzer mitzuteilen, wie viele Schritte er oder sie vor dem Zweitplatzierten liegt. Um diese Information dynamisch zu generieren, erstellen wir eine String-Variable. Diese Variable wird später durch Skripting mit dem entsprechenden Text gefüllt, der die genaue Differenz zwischen dem Erst- und Zweitplatzierten angibt. Die sorgfältige Definition dieser Variablen ist ein entscheidender Schritt für die Funktionalität der sac analytic application.
Definition neuer Variablen in der SAC Analytic Application
IV. Der Moment des Triumphs: Das Pop-up für den Spitzenreiter
Nachdem die grundlegenden Variablen definiert sind, widmen wir uns der Gestaltung des Pop-ups, das angezeigt wird, wenn ein Nutzer nach einer Dateneingabe oder -änderung die Spitzenposition erreicht. Dieses Pop-up besteht typischerweise aus mehreren Elementen: einem Haupttitel, einem Textfeld für weitere Informationen, optional einem Bild zur visuellen Verstärkung und einem “Schließen”-Button.
Der “Schließen”-Button ist dabei der einfachste Teil, da er nur die Funktion Popup_Lead.close(); ausführt, um das Fenster nach der Interaktion des Nutzers zu schließen.
Abbildung 4: Das Design des Pop-ups im Bearbeitungsmodus.
Im unteren Textfeld des Pop-ups integrieren wir die zuvor erstellte String-Variable Var_LeadText. Dies geschieht über die Option “Dynamischer Text”. Im entsprechenden Menü können Sie unter “Skriptvariablen” die verfügbaren Variablen auswählen und die gewünschte Variable, in diesem Fall Var_LeadText, einfügen. Diese dynamische Textfeldintegration ist ein Kernstück der Flexibilität einer sac analytic application.
Einbindung einer Skriptvariablen in ein Textfeld
V. Das Herzstück: Das Skript für die Auszeichnung
Das eigentliche Management der Auszeichnung übernimmt das Skript. Wir unterteilen dieses in zwei Hauptmethoden: Awards.LeadAward und Awards.GiveAwards.
5.1. Methode: Awards.LeadAward
Diese Methode ist dafür zuständig, das zuvor erstellte, verborgene Diagramm (Chart_Lead) zu analysieren. Sie prüft, ob der aktuell angemeldete Nutzer der Spitzenreiter im Diagramm ist. Sollte dies der Fall sein, wird die Variable Var_Lead auf true gesetzt. Dies ist entscheidend für die weitere Logik in Awards.GiveAwards.
Zusätzlich wird die Anzahl der Schritte des Zweitplatzierten ermittelt, um die Differenz zum Führenden zu berechnen. Diese Differenz wird dann verwendet, um die Textvariable Var_TextLead zu füllen. Der Text wird dynamisch generiert und informiert den Nutzer über seinen Vorsprung.
var sel = Chart_Lead.getDataSource().getResultSet();
if (sel.length > 0) {
var selection = sel[0];
for (var dimensionId in selection) {
var memberId = selection[dimensionId];
if (dimensionId === "User" && memberId.id === Var_User_Hier) {
Var_Lead = true;
var lead = true;
}
}
};
// Nun wird der Text für den Spitzenreiter gefüllt, um zu zeigen, wie viele Schritte er mehr hat als der Zweitplatzierte
if (lead === true) {
for (dimensionId in selection) {
memberId = selection[dimensionId];
var steps_lead = ConvertUtils.stringToInteger(sel[0]['@MeasureDimension'].rawValue);
if (sel.length > 1) {
var steps_second = ConvertUtils.stringToInteger(sel[1]['@MeasureDimension'].rawValue);
} else {
steps_second = 0;
}
var difference = steps_lead - steps_second;
};
Var_TextLead = "You have " + ConvertUtils.numberToString(difference) + " more steps than the runner-up.";
};5.2. Methode: Awards.GiveAwards
Diese Methode wird jedes Mal aufgerufen, wenn eine neue Eingabe erfolgt oder eine bestehende geändert wird. Sie vergleicht den vorherigen Führungsstatus (Var_LeadBefore) mit dem aktuellen Status (Var_Lead). Zuerst wird der vorherige Status gespeichert und Var_Lead auf false zurückgesetzt. Anschließend ruft sie Awards.LeadAward() auf, um den aktuellen Spitzenreiter und die relevanten Daten zu ermitteln.
Wenn sich der Status ändert – das heißt, der Nutzer war vorher nicht führend (Var_LeadBefore === false) und ist es nun (Var_Lead === true) – wird das Pop-up Popup_Lead.open() angezeigt. Dies stellt sicher, dass die Auszeichnung nur dann erfolgt, wenn tatsächlich eine neue Führungsposition erreicht wurde, und vermeidet wiederholte Anzeigen. Diese Methode ist zentral für die intelligente Steuerung von Benachrichtigungen in Ihrer sac analytic application.
// Speichert den aktuellen Status der Auszeichnungen, um Änderungen zu verfolgen
Var_LeadBefore = Var_Lead;
Var_Lead = false;
// Prüft nun, welche Auszeichnungen vergeben werden
Awards.LeadAward();
// Zeigt das Pop-up an, wenn eine Änderung stattgefunden hat
if (Var_LeadBefore === false && Var_Lead === true) {
Popup_Lead.open();
};VI. Praxisbeispiel: Der Weg zur Spitzenposition
Um die Funktionsweise zu verdeutlichen, betrachten wir ein konkretes Beispiel. Angenommen, der Nutzer “Road Runner” befindet sich zu Beginn der Anwendung auf dem zweiten Platz.
Road Runner auf dem zweiten Platz in der Rangliste
Nun trägt “Road Runner” 10.000 Schritte und 15 Minuten Yoga ein. Mit dieser neuen Eingabe überholt er “Speedy Gonzales” und erreicht die Spitzenposition.
Road Runner hat die Führung übernommen und das Pop-up erscheint
Sofort wird das Pop-up angezeigt, das “Road Runner” gratuliert und ihm mitteilt, dass er nun 686 Schritte vor “Speedy Gonzales” liegt.
Details der Spitzenposition und des Vorsprungs
Dieses Beispiel zeigt eindrucksvoll, wie ein sac analytic application Skripting nutzen kann, um ein interaktives und motivierendes Element zu schaffen. Durch die geschickte Kombination von Diagrammen, Variablen und Skriptlogik können Sie die Nutzererfahrung erheblich verbessern und Anreize für Engagement schaffen.
Diese Serie hat die grundlegenden Schritte zur Implementierung von Skripting in SAP Analytics Cloud Analytic Applications beleuchtet. Wir hoffen, dass diese Einblicke Ihnen helfen, Ihre eigenen Anwendungsfälle einfacher umzusetzen und das volle Potenzial der SAC-Plattform auszuschöpfen.
Weiterführende Links zur Sac Analytic Application – Skripting für Einsteiger:
