Erstellen einer On-Demand-Vorlagen-Anwendung
Bei einer On-Demand-Vorlagen-Anwendung handelt es sich um eine gewöhnliche Qlik Sense Anwendung mit einem wesentlichen Unterschied: Ihr Ladeskript enthält Datenbindungsformeln, die verwendet werden, um die Anfragen bei den Datenquellen zu formulieren. Diese Datenbindungsformeln werden bei der Generierung von On-Demand-Anwendungen verwendet, um Werte vom Auswahlstatus der Auswahl-Anwendungen zu lesen und sie an das Skript der Vorlagen-Anwendung zu binden, sodass die generierte Anwendung mit einer benutzerdefinierten Teilmenge von Daten geladen wird.
Die Vorlagen-Anwendung stellt in der Regel eine Verknüpfung mit derselben Datenquelle her wie die Auswahl-Anwendung. Das Ladeskript einer Auswahl-Anwendung lädt in der Regel aggregierte Daten, um das Datenvolumen zu reduzieren, während weiterhin interaktive Visualisierungen wichtiger Dimensionen und Kennzahlen angeboten werden. Das Ladeskript einer Vorlagen-Anwendung verwendet Abfragen, die eine definierte Teilmenge detaillierter Daten laden.
Die Arbeitsblätter in Vorlagen-Anwendungen müssen als öffentlich festgelegt sein, damit andere Benutzer On-Demand-Anwendungen erstellen können. Weitere Informationen finden Sie unter Gewähren von Zugriff auf Arbeitsblätter, Arbeitsblattgruppen, Lesezeichen und Storys.
Struktur einer Vorlagen-Anwendung
Eine Vorlagen-Anwendung ist über einen Navigationslink für eine On-Demand-Anwendung mit einer Auswahl-Anwendung verknüpft. Der Anwendungs-Navigationslink umfasst Eigenschaften, die die Anzahl der abgefragten Datensätze steuern, wenn die On-Demand-Anwendung mit Daten geladen wird. Das Ladeskript der Vorlagen-Anwendung enthält Datenbindungsformeln, die angeben, welche Felddaten aus der Auswahl-Anwendung zur Formulierung der Abfragen verwendet werden, die beim Laden von Daten in die On-Demand-Anwendung ausgegeben werden.
In June 2020 wurde eine neue Syntax für Datenbindungsformeln eingeführt. Die vorherige Syntax und die Zusätze od_, ods_, odo_, odso_ und odb_ verhalten sich wie bisher, einschließlich Mengenbeschränkungen, Suffix _n und Formatspezifikationen. Wenn Ihre Anwendung in Qlik Sense Versionen vor June 2020 funktionieren soll, verwenden Sie die alte Syntax. Informationen zur alten Syntax finden Sie unter Erstellen einer On-Demand-Vorlagen-Anwendung (alte Version).
Das Suffix _n wird nicht unterstützt, wenn Sie die neuen Zusätze verwenden.
Grundlegende Datenbindungsformeln haben folgende Form:
$(odag_FIELDNAME)
Das Präfix odag_ wird verwendet, um den Auswahlstatus der Auswahl-Anwendung an das Ladeskript der On-Demand-Anwendung zu binden, die durch Kopieren der Vorlagen-Anwendung erstellt wird. Der Teil der Datenbindungsformel, der auf das Präfix odag folgt, muss ein Name sein, der einem Feld in der Auswahl-Anwendung entspricht. Beim Generieren der On-Demand-Anwendung wird der aktuelle Auswahlstatus der Auswahl-Anwendung verwendet, um die gewünschten Werte für das Binden der einzelnen Felder zu erhalten. Jede Instanz einer $(odag_FIELDNAME)-Formel im Ladeskript einer neu erstellten On-Demand-Anwendung wird durch eine Liste von Werten ersetzt, die für das entsprechende Feld im Auswahlstatus der Auswahl-Anwendung ausgewählt wurden.
Daneben sind weitere Zusätze für spezifischere Datenbindung verfügbar. Weitere Informationen zur Anpassung für spezifische Fälle und zur Optimierung von load-Anweisungen finden Sie unter Bindungsformeln in On-Demand-Vorlagen-Anwendungen.
On-Demand-Bindungen können direkt in SELECT- und WHERE-Anweisungen im Ladeskript eingefügt werden. Wenn Sie Bindungen direkt in Ihren WHERE-Anweisungen hinzufügen, können diese leicht mit anderen Bedingungen in der Anweisung kombiniert werden.
Sie können beim Erstellen des Ladeskripts die Platzhaltervariable $(odagActive) hinzufügen. Dadurch können Sie Beispieldaten in die Vorlagen-Anwendung laden, damit Master-Diagramme für dynamische Ansichten erstellt werden können, ohne alle Daten zu laden.
Wenn Sie das Skript Ihrer Anwendungsvorlage ändern und eine neue Bindungsvariable einfügen, müssen neue On-Demand-Anwendungs-Navigationslinks erstellt werden, um vorhandene Anwendungs-Navigationslinks zu ersetzen. Wenn Sie dies nicht tun, wird die Auswahl für das entsprechende Feld bei vorhandenen On-Demand-Anwendungen, die diese Anwendungsvorlage verwenden, nicht gesendet.
Die folgenden Beispiele zeigen ein Ladeskript mit On-Demand-Beispielvorlage.
Beispiel: Hinzufügen von Beispieldaten
In diesem Beispiel werden Beispieldaten hinzugefügt, damit die Anwendung geladen werden kann, auch wenn die Bindungen nicht vollständig sind.
IF '$(odagActive)'='' THEN
trace ODAG variables not inserted! Loading sample data.;
SET 'odag_Origin Code' = '''LAX''';
SET 'odag_Destination Code' = '''JFK''';
SET odagn_Year = 2015;
SET odag_Quarter = '''1''';
SET 'odag_Ticket Carrier Code' = '''CA''';
SET 'odag_Fare Class' = '''X''';
END IF;
Beispiel: Laden von Daten in die Vorlagen-Anwendung
Das folgende Beispiel ist ein Beispielladeskript für das Laden von Beispieldaten und deren Filterung mit den generierten odag_FIELDNAME-Bindungen. Die odagn_<Field Name>-Bindungen wählen die Zahlen in den dualen Werten aus und verwenden sie standardmäßig ohne Anführungszeichen.
SQL SELECT *
FROM FlightDB.Flights
WHERE "Origin Code" IN ($(odag_Origin Code))
AND "Destination Code" IN ($(odag_Destination Code))
AND "Year" IN ($(odagn_Year))
AND "Quarter" IN ($(odag_Quarter))
AND "Ticket Carrier Code" IN ($(odag_Ticket Carrier Code))
AND "Fare Class" IN ($(odag_Fare Class));
Single Sign-on (SSO)
On-Demand-Anwendungen können Single Sign-On (SSO) mit Datenquellen verwenden, die SSO unterstützen. Die Engine und die Datenquelle müssen so konfiguriert werden, dass SSO zulässig ist.
Nachdem die Engine und die Datenquelle für SSO konfiguriert wurden, muss die Vorlagen-Anwendung SSO aktivieren. Dazu wird dem Skript der Vorlagen-Anwendung folgende Syntax hinzugefügt:
///!ODAG_SSO
Der On-Demand-App-Dienst analysiert das Skript beim Generieren einer On-Demand-Anwendung und bei jeder erneuten Ausführung des Skripts.
Wird eine On-Demand-Anwendung mit SSO geladen, so wird die Identität des Endbenutzers an die Datenquelle gesendet. Der Endbenutzer muss Zugriff auf die in den Datenverbindungen der Vorlagen-Anwendung verwendeten Quellen haben. Es werden nur die Daten geladen, auf die dieser Benutzer zugreifen kann, selbst wenn ein größerer Satz von Daten ausgewählt wird.