Creazione di un'app modello On-demand
Un'app modello On-demand è una normale app di Qlik Sense con un'importante differenza: il suo script di caricamento contiene espressioni di associazione dati utilizzate per formulare le query sulle sorgenti dati. Queste espressioni di associazione dati vengono utilizzate al momento della generazione dell'app On-demand per leggere i valori dallo stato di selezione dell'app di selezione e associarli allo script dell'app modello in modo che l'app generata venga caricata con un sottogruppo di dati controllato dall'utente.
L'app modello si collega in genere alla stessa sorgente dati dell'app di selezione. Lo script di caricamento di un'app di selezione carica generalmente dati aggregati per ridurre i volumi di dati offrendo allo stesso tempo visualizzazioni interattive di dimensioni e misure importanti. Lo script di caricamento di un'app modello utilizza query che caricano un sottogruppo controllato di dati più granulari.
Struttura di un'app modello
Un'app modello è collegata a un'app di selezione mediante un collegamento di navigazione app On-demand. Il collegamento di navigazione all'app include proprietà che controllano il numero di record sottoposti a query quando l'app On-demand viene caricata con dati. Lo script di caricamento dell'app modello contiene espressioni di associazione dati che specificano quali dati dei campi dell'app di selezione vengono utilizzati per formulare le query generate durante il caricamento dei dati nell'app On-demand.
In June 2020 è stata introdotta una nuova sintassi per l'espressione di associazione dati. La sintassi e i prefissi precedenti od_, ods_, odo_, odso_ e odb_ si comportano come prima includendo vincoli di quantità, suffisso _n e specifiche di formato. Se la propria app deve funzionare su versioni precedenti a Qlik Sense June 2020, utilizzare la precedente sintassi. Per la vecchia sintassi, vedere Creazione di un'app modello on-demand (versione precedente).
Il suffisso _n non è supportato al momento di utilizzare i nuovi prefissi.
Le espressioni di associazione dati base hanno la forma:
$(odag_FIELDNAME)
Il prefisso odag_ viene utilizzato per associare lo stato di selezione dell'app di selezione allo script di caricamento dell'app on-demand, la quale viene creata copiando l'app modello. La parte dell'espressione di associazione dati che segue il prefisso odag_ deve essere un nome che corrisponde ad un campo nell'app di selezione. Quando viene generata l'app on-demand, lo stato di selezione attuale dell'app di selezione viene utilizzato per ottenere i valori desiderati da associare per ogni campo. Ogni occorrenza di un'espressione $(odag_FIELDNAME) nello script di caricamento dell'app On-demand appena creata viene sostituita con l'elenco dei valori selezionati per il campo corrispondente nello stato di selezione dell'app di selezione.
Sono disponibili altri prefissi per un'associazione dati più specializzata. Per saperne di più sulla personalizzazione in presenza di casi speciali e l'ottimizzazione delle istruzioni di caricamento, vedere Espressioni di associazione in app modello On-demand.
Le associazioni on-demand possono essere inserite direttamente nelle istruzioni SELECT e WHERE nel proprio script di caricamento. Quando si aggiungono associazioni direttamente alle proprie istruzioni WHERE , è facile combinarle con altre condizioni nell'istruzione.
È possibile aggiungere una variabile segnaposto $(odagActive) al momento di realizzare il proprio script di caricamento. Ciò consente di caricare dati campione nell'app modello, in modo che i grafici master per le viste dinamiche possano essere creati senza caricare tutti i dati.
Gli esempi seguenti illustrano uno script di caricamento dei modelli on-demand.
Esempio: Aggiunta di alcuni dati campione
Questo esempio aggiunge valori campione in modo che l'app possa essere caricata anche se le associazioni non sono complete.
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;
Esempio: Caricamento dati nell'app modello
Quello riportato di seguito è uno script di caricamento campione per il caricamento dei dati campione e il filtro con le associazioni odag_FIELDNAME generate. Le associazioni odagn_<Field Name> scelgono i numeri nei valori duali e li utilizzano per impostazione predefinita senza delimitazione tra virgolette.
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));
Single Sign-On (SSO)
Le app On-demand possono utilizzare il single sign-on (SSO) con le sorgenti dati che supportano il SSO. L'engine e la sorgente dati devono essere configurati per consentire il SSO.
Per ulteriori informazioni, vedere Configurazione di SAP HANA per il Single Sign-On SAML con Qlik Sense (solo in lingua inglese) e Configurazione di Cloudera Impala per il Single Sign-On (solo in lingua inglese).
Una volta configurati l'engine e la sorgente dati per il SSO, l'app modello deve abilitare il SSO aggiungendo la sintassi seguente allo script dell'app modello:
///!ODAG_SSO
Servizio app On-Demand analizza lo script quando viene generata un'app On-demand e ogni volta che viene ricaricata.
Quando si carica un'app On-demand con il SSO, l'identità dell'utente finale viene inviata alla sorgente dati. L'utente finale deve disporre dell'accesso alle sorgenti utilizzate nelle connessioni dati dell'app modello. Vengono caricati solo i dati a cui l'utente può accedere in queste sorgenti, anche nel caso in cui venga selezionata una serie di dati più grande.
Ricarica nodi per le app modello
Gli amministratori possono controllare dove vengono ricaricate le app on-demand in un ambiente a più nodi impostando regole di bilanciamento del carico sulle app modello. Quando viene impostata una regola di bilanciamento del carico, tutte le app generate da collegamenti all'app modello verranno caricate in base alla regola applicata all'app modello. Per ulteriori informazioni, vedere Gestione di app On-demand (solo in lingua inglese).