Skapa en on-demand-mallapplikation | Qlik Sense för WindowsHjälp
Gå till huvudinnehåll Gå till ytterligare innehåll

Skapa en on-demand-mallapplikation

En on-demand-mallapplikation är en vanlig Qlik Sense applikation med en viktig skillnad: dess laddningsskript innehåller databindningsuttryck som används för att formulera frågorna som ställs på datakällorna. Dessa databindningsuttryck används vid generering av on-demand-applikationer för att läsa värden från urvalstillståndet i urvalsapplikationen och binda dem till mallapplikationsskriptet så att den genererade applikationen laddas med en användarstyrd delmängd av data.

Mallapplikationen ansluter normalt sett till samma datakälla som urvalsapplikationen. Laddningsskriptet för en urvalsapplikation laddar vanligtvis aggregerade data för att reducera datavolymerna samtidigt som interaktiva visualiseringar av viktiga dimensioner och mått erbjuds. Laddningsskriptet för en mallapplikation använder frågor som laddar en kontrollerad delmängd av mer detaljerade data.

Anteckning om informationEn on-demand-mallapplikation laddar inte data direkt. Kopplingen till mallapplikationen måste vara giltig, men för att testa om kopplingen fungerar korrekt måste du generera en on-demand-applikation. När en on-demand-applikation genereras, modifieras laddningsskriptet av On-demand-applikationstjänsten för att ladda urvalstillståndet för on-demand-urvalsapplikationen. Om on-demand-appen genereras utan fel, då vet du att kopplingen i mallappen fungerar korrekt.

Mallappens struktur

En mallapp är länkad till en urvalsapp med en navigeringslänk för on-demand-appen. Appnavigeringslänken innehåller egenskaper som styr antalet poster som frågas efter när on-demand-appen laddas med data. Laddningsskriptet för mallappen innehåller databindningsuttryck som anger vilka fältdata från urvalsappen som används för att formulera frågor som utfärdas vid laddning av data i on-demand-appen.

Anteckning om informationEtt exempel på en on-demand-mallapp ingår i Qlik Sense Enterprise on Windows-installationen på ProgramData\Qlik\Examples\OnDemandApp\sample.
Anteckning om information

En ny syntax för databindningsuttryck introducerades i June 2020-versionen. Den tidigare syntaxen och prefixen od_, ods_, odo_, odso_ och odb_ fungerar som tidigare, inklusive antalsbegränsningar, _n suffix och formatspecifikationer. Om din applikation ska fungera i Qlik Sense versioner före juni 2020, använd den gamla syntaxen. Information om den gamla syntaxen finns i Skapa en on-demand-mallapplikation (gammal version).

Suffixet _n suffix stöds inte när de nya prefixen används.

Grundläggande databindningsuttryck har formen:

$(odag_FIELDNAME)

Prefixet odag_ används för att binda urvalstillståndet för urvalsapplikationen till laddningsskriptet för on-demand-applikationen, som skapas genom att kopiera mallapplikationen. Den del av databindningsuttrycket som följer efter prefixet odag måste vara ett namn som matchar ett fält i urvalsapplikationen. När on-demand-appen genereras används det aktuella urvalstillståndet i urvalsappen för att hämta de önskade värdena att binda för varje fält. Varje förekomst av ett $(odag_FIELDNAME)-uttryck i laddningsskriptet för den nya on-demand-appen ersätts med listan över valda värden för motsvarande fält i urvalstillståndet för urvalsappen.

Det finns andra prefix för mer specialiserad databindning. Mer information om hur du hanterar specialfall och optimerar LOAD-satser finns i Bindningsuttryck i on-demand-mallapplikationer.

On-demand-bindningar kan infogas direkt i SELECT- och WHERE-satser i laddningsskriptet. När du lägger till bindningar direkt i dina WHERE-satser är det lätt att kombinera dem men andra villkor i satsen.

Du kan lägga till platshållarvariabeln $(odagActive) när du skapar ditt laddningsskript. Då blir det möjligt att ladda exempeldata i mallappen så att originaldiagram för dynamiska vyer kan skapas utan att ladda alla data.

Följande exempel visar ett laddningsskript för en on-demand-mall.

Exempel: Lägga till exempeldata

Det här exemplet lägger till exempelvärden så att appen kan laddas även om bindningarna inte är fullständiga.


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;

Exempel: Ladda data i mallappen

Följande är ett exempel på ett laddningsskript avsett för att ladda exempeldata och filtrera dem med de genererade odag_FIELDNAME-bindningarna. odagn_<Field Name>-bindningarna hämtar siffrorna i dualerna och använder som standard inga citattecken.


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));

Enkel inloggning (SSO)

On-demand-applikationer kan använda enkel inloggning (SSO) med datakällor som stöder SSO. Motorn och datakällan måste konfigureras för att tillåta SSO.

Mer information finns i Konfigurera SAP HANA för SAML Single Sign-On med Qlik Sense (endast på engelska) och Konfigurera Cloudera Impala för Single Sign-On (endast på engelska).

När motorn och datakällan har konfigurerats för SSO måste mallapplikationen aktivera SSO genom att lägga till följande syntax i mallapplikationsskriptet:

///!ODAG_SSO

On-Demand-apptjänst parsar skriptet när en on-demand-applikation genereras och varje gång den laddas om.

När en on-demand-applikation laddas med SSO skickas slutanvändarens identitet till datakällan. Slutanvändaren måste ha åtkomst till källorna som används i mallapplikationens datakopplingar. Endast data som användaren har åtkomst till i källorna laddas, även om en större datauppsättning är vald.

Anteckning om varningDet går inte att publicera on-demand-appar som genereras från mallappar som använder enkel inloggning (SSO).

Ladda noder igen för mallapplikationer

Administratörer kan kontrollera var on-demand-applikationer laddas om i en miljö med flera noder genom att ställa in regler för lastbalansering på mallapplikationer. När en lastbalanseringsregel ställs in, laddas alla appar som genererats från länkar till mallappen enligt den regel som tillämpas på mallappen. Mer information finns i Hantera on-demand-applikationer (endast på engelska).

Var den här sidan till hjälp för dig?

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!