Een on-demand sjabloonapplicatie maken
Een on-demand sjabloonapplicatie is een normale Qlik Sense applicatie 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 gebruikt tijdens het genereren van on-demand applicaties om waarden te lezen uit de selectiestatus van de selectie-applicatie en deze te binden aan het sjabloonapplicatiescript, zodat de gegenereerde applicatie wordt geladen met een door de gebruiker beheerde subset van de gegevens.
De sjabloonapplicatie maakt meestal verbinding met dezelfde gegevensbron als de selectie-applicatie. Het load-script van een selectie-applicatie 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 sjabloonapplicatie gebruikt query's die een gecontroleerde subset van gedetailleerdere gegevens laden.
Sjabloonapplicaties moeten hun werkbladen openbaar hebben gemaakt zodat andere gebruikers on-demand-applicaties kunnen genereren. Ga voor meer informatie naar Toegang verlenen tot werkbladen, werkbladgroepen, bladwijzers en presentaties.
Structuur van een sjabloonapplicatie
Een sjabloonapplicatie wordt gekoppeld aan een selectie-applicatie met behulp van een on-demand applicatie-navigatiekoppeling. De applicatie-navigatiekoppeling bevat eigenschappen die het aantal opgevraagde records bepalen wanneer de on-demand applicatie met gegevens wordt geladen. Het load-script van de sjabloonapplicatie bevat gegevensbindende uitdrukkingen die specificeren welke veldgegevens van de selectie-applicatie worden gebruikt om de query's te formuleren die worden uitgegeven bij het laden van gegevens in de on-demand applicatie.
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 applicatie zou moeten werken op Qlik Sense-versies van vóór juni 2020, gebruik dan de oude syntaxis. Voor de oude syntaxis, zie Een on-demand sjabloonapplicatie maken (oude versie).
Het suffix _n wordt niet ondersteund als u de nieuwe prefixen gebruikt.
De standaard gegevensbindende uitdrukkingen hebben de vorm:
$(odag_FIELDNAME)
Het odag_-voorvoegsel wordt gebruikt om de selectiestatus van de selectieapplicatie te binden aan het load-script van de on-demand applicatie, die wordt gemaakt door de sjabloonapplicatie te kopiëren. Het deel van de gegevensbindingsexpressie dat volgt op het odag-voorvoegsel moet een naam zijn die overeenkomt met een veld in de selectieapplicatie. Wanneer de on-demand applicatie wordt gegenereerd, wordt de huidige selectiestatus van de selectieapplicatie gebruikt om de gewenste waarden te verkrijgen die voor elk veld moeten worden gebonden. Elk exemplaar van een $(odag_FIELDNAME)-uitdrukking in het load-script van de nieuw aangemaakte on-demand applicatie wordt vervangen door de lijst met waarden die is geselecteerd voor het corresponderende veld in de selectiestatus van de selectie-applicatie.
Andere prefixen voor gespecialiseerdere gegevensbinding zijn beschikbaar. Zie Gegevensbindende uitdrukkingen in On-demand-sjabloon-applicaties 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 te laden in de sjabloonapplicatie zodat masterdiagrammen voor dynamische weergaven kunnen worden gemaakt zonder alle gegevens te laden.
Als u het script van uw sjabloon-applicatie wijzigt en een nieuwe bindingsvariabele invoegt, moeten nieuwe navigatiekoppelingen voor on-demand applicaties worden gemaakt om bestaande applicatie-navigatiekoppelingen te vervangen. Als u dit niet doet, wordt de selectie voor het bijbehorende veld niet verzonden voor bestaande on-demand applicaties die die sjabloon-applicatie gebruiken.
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 applicatie kan worden geladen, zelfs 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 sjabloonapplicatie
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 applicaties kunnen eenmalige aanmelding (SSO) gebruiken met gegevensbronnen die SSO ondersteunen. De zoekmachine en de gegevensbron moeten worden geconfigureerd om SSO toe te staan.
Nadat de zoekmachine en gegevensbron zijn geconfigureerd voor SSO, moet de sjabloon-applicatie SSO inschakelen door de volgende syntaxis toe te voegen aan het script van de sjabloon-applicatie:
///!ODAG_SSO
De On-demand app-service analyseert het script wanneer een On-demand-applicatie wordt gegenereerd en iedere keer wanneer deze opnieuw wordt geladen.
Wanneer een On-demand-applicatie is geladen met SSO, wordt de identiteit van de eindgebruiker verzonden naar de gegevensbron. De eindgebruiker moet toegang hebben tot de bronnen die worden gebruikt in de gegevensverbindingen van de sjabloon-applicatie. Alleen gegevens waar gebruikers toegang tot hebben worden geladen, zelfs als een grotere set van gegevens is geselecteerd.