Een On-demand-sjabloon-app maken
OP DEZE PAGINA
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.
De gegevensbindende uitdrukkingen hebben de vorm:
$(od_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 $(od_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.
Zie Gegevensbindende uitdrukkingen in On-demand-sjabloon-apps voor meer informatie over het binden van waarden met INLINE load-opdrachten.
Voor een geldige
SUB ExtendWhere(Name, ValVarName) LET T = Name & '_COLNAME'; LET ColName = $(T); LET Values = $(ValVarName); IF len(Values) > 0 THEN IF len(WHERE_PART) > 0 THEN LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )'; ELSE LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )'; ENDIF ENDIF END SUB;
Voorafgaand aan het oproepen van de
Als u wilt dat de SQL-instructie een onveranderlijke WHERE-clausule heeft in aanvulling op de clausules die door de selectie-app worden ingevoegd, voegt u
Het onderstaande is een voorbeeld van hoe de
FOR EACH fldname IN 'ORIGIN', 'DEST', 'YEAR', 'QUARTER', 'ORIGIN_STATE_ABR', 'DEST_STATE_ABR' LET vallist = $(fldname); WHEN (IsNull(vallist)) LET vallist = ''; IF len(vallist) > 0 THEN CALL ExtendWhere('$(fldname)','vallist'); ENDIF NEXT fldname
De lijst met veldnamen moet overeenstemmen met de namen van de velden die worden gebruikt in elke veldbinding die u hebt gemaakt.
Zodra de waardenlijst voor elk veld is gemaakt, kan een SELECT-instructie worden geschreven. Bijvoorbeeld:
SQL SELECT "MKT_ID", "YEAR", "QUARTER", "ORIGIN", "ORIGIN_STATE_ABR", "DEST", "DEST_STATE_ABR", "TICKET_CARRIER", "FARE_CLASS", "PASSENGERS", "DISTANCE", 1 AS "FLIGHT_COUNT" FROM "SAPH7T"."/QT/AIRPORT_FACT" $(WHERE_PART);
Het
Eenmalige aanmelding (SSO)
On-demand apps kunnen single sign-on (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.