Wer aus der BW-Welt kommt, kennt sie gut: Customer Exit-Variablen. Sie sind der elegante Weg, Variablen automatisch mit dynamischen Standardwerten zu füllen – zum Beispiel den aktuellen Buchungsmonat in Finanzberichten oder den letzten Abrechnungszeitraum in einem Personal-Dashboard. Neben solchen zeitabhängigen Standardwerten findet man auch häufig Szenarien, in denen Steuerungsgrößen aus kundeneigenen Tabellen (Customizing) ausgelesen werden – etwa die aktuell laufende Kampagne für einen Sales-Bericht. Darüber hinaus werden Exit-Variablen oft eingesetzt, um benutzerabhängige Vorbelegungen umzusetzen, wenn diese nicht sinnvoll über Analyseberechtigungen abgebildet werden können oder sollen. Das Spektrum der Anwendungsfälle ist entsprechend breit und deckt unterschiedlichste Business-Szenarien ab.
In SAP Datasphere zieht dieses Prinzip nun auch in die Cloud ein. Bisher konnten Variablen entweder manuell eingegeben oder als Derived Variable von einer anderen Variable abgeleitet werden. Neu hinzugekommen sind die Dynamic Default-Variablen. Damit kann ein dynamisch berechneter Wert bereits beim Öffnen des Variablendialogs als Standard vorgeschlagen werden – etwa das aktuelle Datum oder der letzte Monat. Dieser Vorschlagswert ist sichtbar und kann bei Bedarf geändert werden.
Beide Varianten ergänzen sich: Derived Variables setzen Werte unsichtbar im Hintergrund und erfordern keine Eingabe, während Dynamic Defaults dem Nutzer einen Vorschlag machen, der jederzeit angepasst werden kann. Damit werden die unterschiedlichen Zeitpunkte für eine dynamische Logik abgedeckt, ähnlich wie man es aus den verschiedenen I_STEP-Ausprägungen der Customer Exit-Variablen im BW kennt.
In diesem Beitrag schauen wir uns die neue Funktionalität von Dynamic Defaults im Detail an und prüfen, welche Vorteile sich für Ihre Datenanalysen ergeben. Dabei betrachten wir sowohl einen Standardfall mit zeitbezogener Logik als auch ein Beispiel mit kundeneigenen Steuerungstabellen – und zeigen, wie Sie in Kombination mit unserem NextTables-Produkt für Self-Service-Datenpflege in Datasphere zusätzlichen Mehrwert erzielen können.
Technisch werden die neuen Dynamic Default-Variablen durch den Aufruf einer sogenannten Lookup-Entität abgebildet, die für den aktuellen Kontext genau einen passenden Wert zurückliefert. Dabei kann es sich um einen View oder eine Tabelle handeln, die lediglich eine Zeile zurückgibt. Im folgenden Beispiel zeigen wir, wie sich eine dynamische Standardvariable mit zeitbezogener Logik auf Basis eines SQL-Views umsetzen lässt.
Wir betrachten einen Datensatz mit täglichen Umsätzen und möchten standardmäßig den Umsatz von gestern abrufen. Das gestrige Datum ermitteln wir über einen SQL-View, der zwei Spalten berechnet: Today und Yesterday. Dazu nutzen wir die Tabelle SAP.TIME.VIEW_DIMENSION_DAY – eine von SAP bereitgestellte Standard-Zeitdimension in Datasphere. Sie lässt sich im Space Management per Knopfdruck anlegen, umfasst alle Tage von 1900 bis 2050 und eignet sich damit ideal für zeitbasierte Berechnungen.
Im Data Viewer lassen sich die korrekt berechneten Werte nachvollziehen.
Anschließend wird im Analysemodell eine neue Filtervariable angelegt. In der Wertedefinition ist der Eintrag Dynamic Default auszuwählen. Als Lookup-Entität dient der zuvor definierte SQL-View, wobei die Spalte Yesterday als Ergebnis festgelegt wird. Der darin enthaltene Wert wird automatisch als Standardwert für die Variable verwendet. In diesem Beispiel ist der Filter Type auf Single Value gesetzt. Dynamic Default-Variablen können jedoch ebenso für mehrere Einzelwerte, Intervalle oder Ranges genutzt werden, wie es auch von Query-Variablen im SAP BW bekannt ist.
Beim Aufruf des Analysemodells in der SAC ist das gestrige Datum somit bereits vorbelegt, kann jedoch bei Bedarf jederzeit angepasst werden.
Ein weiteres gängies Beispiel, das auch im BW-Kontext oft umgesetzt wird, ist das dynamische Auslesen von Variablenwerten aus kundeneigenen Steuerungstabellen. Dasselbe Prinzip lässt sich jetzt auch in SAP Datasphere mit NextTables umsetzen.
In unserem Seamless Planning Showcase unseres fiktiven Getränkelieferanten NextJuice nutzen wir bereits NextTables, um eine Sales-Manager-Perspektive ins Reporting zu integrieren. Darauf aufbauend pflegen wir nun in einer Steuerungstabelle, welche Planversion je Sales Manager freigegeben ist.
Ruft ein Sales Manager sein Ist/Plan-Dashboard auf, wird automatisch diese freigegebene Version als Vorschlagswert gesetzt – kann aber bei Bedarf flexibel überschrieben werden.
Technisch wird dies über eine SQL-View umgesetzt, die die in NextTables gepflegten Sales-Manager-Stammdaten (inklusive User-Kennung wie E-Mail-Adresse) mit den ebenfalls dort gepflegten Planversionen je Sales Manager verknüpft. Mit dem SQL-Befehl SESSION_CONTEXT('APPLICATIONUSER') lässt sich der aktuell angemeldete Nutzer auslesen und als Filter an die View übergeben.
So liefert die View immer genau ein Ergebnis für den eingeloggten Sales Manager und kann analog zum ersten Beispiel als Lookup-Entität für eine Dynamic Default Variable verwendet werden.
Die Einführung dynamischer Standardwerte für Variablen in SAP Datasphere stellt eine deutliche Verbesserung für die Benutzerfreundlichkeit und Effizienz dar. Mit der neuen Möglichkeit, Kontextabhängige Werte automatisch vorzubelegen, wird nicht nur die manuelle Eingabe reduziert, sondern auch die Qualität und Konsistenz der Analysen verbessert. Die einfache Umsetzung über SQL Views und Lookup-Entitäten erlaubt es, flexible und wiederverwendbare Filtermechanismen zu schaffen.
Im direkten Vergleich zu Customer-Exit-Variablen im BW deckt der SQL-basierte Ansatz in Datasphere natürlich nicht die gesamte Bandbreite der Möglichkeiten ab, die durch ABAP-Logik realisierbar waren. Zudem stehen im BW zahlreiche vordefinierte Exit-Variablen wie aktuelles Jahr oder aktuelles Quartal zur Verfügung, die sich zudem mit Offsets flexibel anpassen lassen – eine Eigenentwicklung ist oft gar nicht nötig. In Datasphere ist man auf klassische Exit-Mechanismen jedoch viel weniger angewiesen, da sich dynamische Filterungen bereits sehr gut auf View-Ebene, etwa über Join-Bedingungen, modellieren lassen. Ein direkter Vergleich der beiden Ansätze ist daher nur eingeschränkt sinnvoll.
Insgesamt stärkt diese Neuerung die Self-Service-Fähigkeiten der Nutzer und unterstützt eine dynamische Datenanalyse.
Haben Sie Fragen zur einem anderen Thema? Nehmen Sie einfach Kontakt zu uns auf - wir freuen uns auf den Austausch mit Ihnen!