Erstellen einer On-Demand-Vorlage-App
Bei einer On-Demand-Vorlage-App handelt es sich um eine gewöhnliche Qlik Sense-App 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-Apps verwendet, um Werte vom Auswahlstatus der Auswahl-App zu lesen und sie an das Skript der Vorlage-App zu binden, sodass die generierte App mit einer benutzerdefinierten Teilmenge von Daten geladen wird.
Die Vorlage-App stellt in der Regel eine Verbindung zur gleichen Datenquelle wie die Auswahl-App her. Das Ladeskript einer Auswahl-App lädt normalerweise aggregierte Daten, um das Datenvolumen zu reduzieren und nach wie vor interaktive Visualisierungen von wichtigen Dimensionen und Kennzahlen bieten zu können. Das Ladeskript einer Vorlagen-App verwendet Abfragen, die eine definierte Teilmenge detaillierter Daten laden.
Die Arbeitsblätter in Vorlagen-Apps müssen als öffentlich festgelegt sein, damit andere Benutzer On-Demand-Apps erstellen können. Weitere Informationen finden Sie unter Gewähren von Zugriff auf Arbeitsblätter, Arbeitsblattgruppen, Lesezeichen und Storys.
Struktur einer Vorlagen-App
Eine Vorlage-App ist mit einer Auswahl-App über einen Navigationslink für On-Demand-Apps verknüpft. Der App-Navigationslink umfasst Eigenschaften, die die Anzahl der abgefragten Datensätze steuern, wenn die On-Demand-App mit Daten geladen wird. Das Datenladeskript der Vorlagen-App enthält Datenbindungsformeln, die angeben, welche Felddaten aus der Auswahl-App zur Formulierung der Abfragen verwendet werden, die beim Laden von Daten in die On-Demand-App 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 App 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-Vorlage-App (alte Version).
Das Suffix _n wird nicht unterstützt, wenn Sie die neuen Zusätze verwenden.
Grundlegende Datenbindungsformeln haben folgende Form:
$(odag_FIELDNAME)
Der Zusatz odag_ wird verwendet, um den Auswahlstatus der Auswahl-App an das Ladeskript der On-Demand-App zu binden, die durch Kopieren der Vorlage-App erstellt wird. Der Teil der Datenbindungsformel nach dem Zusatz odag_ muss ein Name sein, der einem Feld in der Auswahl-App entspricht. Wenn die On-Demand-App erstellt wird, wird der aktuelle Auswahlstatus der Auswahl-App verwendet, um die gewünschten Werte zum Binden der einzelnen Felder zu erhalten. Jede Instanz einer $(odag_FIELDNAME)-Formel im Datenladeskript einer neu erstellten On-Demand-App wird durch eine Liste von Werten ersetzt, die für das entsprechende Feld im Auswahlstatus der Auswahl-App 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-Vorlage-Apps.
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 Vorlage-App laden, damit Master-Diagramme für dynamische Ansichten erstellt werden können, ohne alle Daten zu laden.
Wenn Sie das Skript Ihrer App-Vorlage ändern und eine neue Bindungsvariable einfügen, müssen neue On-Demand-App-Navigationslinks erstellt werden, um vorhandene App-Navigationslinks zu ersetzen. Wenn Sie dies nicht tun, wird die Auswahl für das entsprechende Feld bei vorhandenen On-Demand-Apps, die diese App-Vorlage 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 App 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 Vorlage-App
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-Apps 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-App SSO aktivieren. Dazu wird dem Skript der Vorlagen-App folgende Syntax hinzugefügt:
///!ODAG_SSO
Der On-Demand-App-Dienst analysiert das Skript beim Generieren einer On-Demand-App und bei jeder erneuten Ausführung des Skripts.
Wird eine On-Demand-App 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-App 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.