Een On-demand-sjabloon-app maken
Een on-demand-sjabloon-app is een normale Qlik Sense-app met één belangrijk verschil: het load-script ervan bevat gegevensbindende uitdrukkingen waarmee de query’s worden geformuleerd die op de gegevensbronnen worden uitgevoerd. Deze gegevensbindende uitdrukkingen worden tijdens het genereren van On-demand-apps gebruikt om waarden uit de selectiestate van de selectie-app te lezen en deze waarden te verbinden met het sjabloon-app-script zodat de gegenereerde app wordt geladen met een door de gebruiker bepaalde subset van de gegevens.
De sjabloon-app maakt meestal verbinding met dezelfde gegevensbron als de selectie-app. Het load-script van een selectie-app laadt meestal geaggregeerde gegevens om het volume van de gegevens te beperken, maar biedt nog steeds interactieve visualisaties van belangrijke dimensies en metingen. Het load-script van een sjabloon-app gebruikt query’s die een gecontroleerde subset van gedetailleerdere gegevens laden.
Structuur van een sjabloon-app
Een sjabloon-app wordt aan een selectie-app gekoppeld met behulp van een On-demand-app-navigatiekoppeling. De app-navigatiekoppeling bevat eigenschappen die het aantal opgevraagde records bepalen wanneer de On-demand-app wordt geladen met gegevens. Het load-script van de sjabloon-app bevat gegevensbindende uitdrukkingen. Deze specificeren welke veldgegevens van de selectie-app worden gebruikt voor het formuleren van de query’s die worden ingediend wanneer gegevens in de On-demand-app worden geladen.
Een nieuwe syntaxis voor de gegevensbindende uitdrukking werd in juni 2020 geïntroduceerd. De vorige syntaxis en prefixen od_, ods_, odo_, odso_ en odb_ blijven zich gedragen zoals voorheen, met inbegrip van beperkingen voor hoeveelheid, suffix _n en specificaties voor indeling. Als uw app zou moeten werken op Qlik Sense-versies van vóór juni 2020, gebruik dan de oude syntaxis. Zie Een On-demand-sjabloon-app maken (oude versie) om de oude syntaxis te bekijken.
Het suffix _n wordt niet ondersteund als u de nieuwe prefixen gebruikt.
De standaard gegevensbindende uitdrukkingen hebben de vorm:
$(odag_FIELDNAME)
Het prefix od_ wordt gebruikt om de selectiestate van de selectie-app met het load-script van de On-demand-app te verbinden. Deze wordt gemaakt door de sjabloon-app te kopiëren. Het deel van de gegevensbindende uitdrukking dat volgt op het prefix od_ moet een naam zijn die overeenkomt met een veld in de selectie-app. Wanneer de On-demand-app wordt gegenereerd, wordt de huidige selectiestate van de selectie-app gebruikt om de gewenste waarden te verkrijgen om elk veld te binden. Elk exemplaar van een $(odag_FIELDNAME)-uitdrukking in het load-script van de nieuw aangemaakte On-demand-app wordt vervangen door de lijst met waarden die is geselecteerd voor het corresponderende veld in de selectiestate van de selectie-app.
Andere prefixen voor gespecialiseerdere gegevensbinding zijn beschikbaar. Zie Gegevensbindende uitdrukkingen in On-demand-sjabloon-apps voor meer informatie over het aanpassen voor specialle gevallen en het optimaliseren van laadinstructies.
On-demand-bindingen kunnen direct in SELECT- en WHERE-instructies in uw load-script worden ingevoegd. Als u bindingen direct in uw WHERE -instructies voegt, kunt u ze eenvoudig combineren met andere voorwaarden in de instructie.
U kunt tijdens het maken van uw load-script een plaatshoudervariabele $(odagActive) toevoegen. Dit stelt u in staat voorbeeldgegevens in de sjabloon-app te laden zodat masterdiagrammen voor dynamische weergaven kunnen worden gemaakt zonder alle gegevens te laden.
In de volgende voorbeelden wordt een voorbeeld van een on-demand sjabloon-load-script getoond.
Voorbeeld: Enkele voorbeeldgegevens toevoegen
In dit voorbeeld worden voorbeeldwaarden toegevoegd zodat de app kan worden geladen als de bindingen niet volledig zijn.
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;
Voorbeeld: Gegevens laden in de sjabloon-app
Hieronder volgt een voorbeeld-load-script voor het laden van de voorbeeldgegevens en het filteren ervan met de gegenereerde odag_FIELDNAME-bindingen. De bindingen odagn_<Field Name> kiezen de getallen in de dubbele waarden en gebruiken standaard geen aanhalingstekens.
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));
Eenmalige aanmelding (SSO)
On-demand apps kunnen eenmalige aanmelding (SSO) gebruiken met gegevensbronnen die SSO ondersteunen. De zoekmachine en de gegevensbron moeten worden geconfigureerd om SSO toe te staan.
Zie SAP HANA configureren voor SAML toegang met eenmalige aanmelding met Qlik Sense (alleen in het Engels) en Cloudera Impala configureren voor toegang met eenmalige aanmelding (alleen in het Engels) voor meer informatie.
Nadat de zoekmachine en gegevensbron zijn geconfigureerd voor SSO, moet de sjabloon-app worden ingeschakeld SSO door het toevoegen van de volgende syntaxis aan het script van de sjabloon-app:
///!ODAG_SSO
De On-demand app-service analyseert het script wanneer een On-demand-app wordt gegenereerd en iedere keer wanneer deze opnieuw wordt geladen.
Wanneer een On-demand-app is geladen met SSO, wordt de identiteit van de gebruiker verzonden naar de gegevensbron. De eindgebruiker moet toegang hebben tot de bronnen die worden gebruikt in de gegevensverbindingen van de sjabloon-app. Alleen gegevens waar gebruikers toegang tot hebben worden geladen, zelfs als een grotere set van gegevens is geselecteerd.
Knooppunten voor het opnieuw laden van sjabloon-apps
Beheerders kunnen bepalen waar On-demand-apps in een omgeving met meerdere knooppunten opnieuw worden geladen door werklastverdelingsregels voor sjabloon-apps in te stellen. Wanneer een werklastverdelingsregel is ingesteld, worden alle apps die worden gegenereerd vanuit koppelingen naar de sjabloon-app, geladen overeenkomstig de regel die van toepassing is op de sjabloon-app. Zie On-demand-apps beheren (alleen in het Engels) voor meer informatie.