Gå till huvudinnehåll Gå till ytterligare innehåll

Skapa en on-demand-mallapp

En on-demand-mallapp är en vanlig Qlik Sense-app med en viktig skillnad: dess inläsningsskript innehåller databindningsuttryck som används för att formulera frågorna som ställs på datakällorna. Dessa databindningsuttryck används vid genereringen av on-demand-appen för att läsa värden i urvalsläget i urvalsappen och binda dem till skriptet i mallappen så att den genererade appen laddas med en användarstyrd delmängd av data.

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

Mallappar måste ha sina ark inställda som offentliga för att andra användare ska kunna generera On-demand-appar. Mer information finns här Ge åtkomst till ark, arkgrupper, bokmärken och berättelser.

Anteckning om informationEn on-demand-mallapp laddar inte data direkt. Kopplingen till mallappen måste vara giltig, men för att prova om kopplingen fungerar måste du generera en on-demand-app. När en on-demand-app genereras ändras laddningsskriptet av on-demand-app-tjänsten för att ladda on-demand-urvalsappens urvalsstatus. Du vet att kopplingarna i mallappen fungerar om on-demand-appen genereras felfritt.
Anteckning om informationTänk på apparnas storlek när du utvecklar on-demand-mallappar. Beroende på din utrullning kan begränsningar gälla för hur mycket du kan lagra. Molnutrullningen kan också växa om du använder mycket lagringsutrymme. Kontakta din systemadministratör för mer information.

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. Inläsningsskriptet för mallappen innehåller databindningsuttryck som anger vilka fältdata från urvalsappen som ska användas för att formulera frågor som utfärdas vid laddning av data i on-demand-appen.

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 app ska fungera i tidigare Qlik Sense-versioner än June 2020 bör du använda den gamla syntaxen. Information om den gamla syntaxen finns i Skapa en on-demand-mallapp (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 urvalsappens urvalstillstånd till laddningsskriptet för on-demand-appen, som skapas genom att mallappen kopieras. Den del av databindningsuttrycket som följer efter prefixet odag_ måste vara ett namn som matchar ett fält i urvalsappen. När on-demand-appen genereras, används det aktuella urvalstillståndet i urvalsappen för att hämta de önskade värdena som ska bindas 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-mallappar.

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 du kan skapa originaldiagram för dynamiska vyer utan att ladda alla data.

Anteckning om information

Om du ändrar skriptet för din mallapp och infogar en ny bindningsvariabel måste nya navigeringslänkar för on-demand-appen skapas för att ersätta eventuella befintliga appnavigeringslänkar. Om du inte gör det kommer urvalet för motsvarande fält inte att skickas för befintliga on-demand-appar som använder den mallappen.

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-appar 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.

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

///!ODAG_SSO

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

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

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

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!