Vai al contenuto principale Passa a contenuto complementare

Creazione di un'app Direct Query con SQL personalizzato

Creare modelli dati nello script di caricamento con una query SQL personalizzata nell'app Direct Query. L'SQL personalizzato fornisce un'alternativa all'utilizzo di Gestione modello dati per definire un modello dati per Direct Query.

L'SQL personalizzato per creare modelli dati Direct Query consente di utilizzare le istruzioni SQL per definire tabelle e campi che sono generati dalla stessa query SQL. Inoltre, le istruzioni dell'SQL personalizzato nelle app Qlik possono utilizzare le variabili dello script di caricamento e le macro delle espressioni Qlik al loro interno. Ciò consente di creare modelli dati più dinamici e di fare in modo che le tabelle e le colonne definite dall'SQL personalizzato vengano regolate in base ai risultati della valutazione di variabili o espressioni.

L'SQL personalizzato può essere utilizzato da solo nello script di caricamento. Per definire il modello dati, è possibile anche utilizzare una combinazione di Gestione modello dati ed SQL personalizzato in Editor caricamento dati.

Nota di suggerimento

Se è possibile specificare parti del modello dati con Gestione modello dati, utilizzare Gestione modello dati per specificare tali porzioni per prestazioni SQL ottimali. Gestione modello dati è più efficiente a livello delle definizioni delle tabelle per l'utilizzo quando si eseguono query Direct Query nel modello dati definito.

Per creare modelli dati con l'SQL personalizzato:

  1. aggiungere section directquery allo script di caricamento.

    Nello script di caricamento può esistere una sola sezione SECTION DIRECTQUERY. Questa deve essere l'ultima sezione in uno script di caricamento.

    Anche se non si è definito un modello dati con Gestione modello dati, se si aggiunge di un'istruzione LIB CONNECT e poi un'istruzione section directquery allo script di caricamento e si carica tale script, è possibile convertire la propria app in un'app Direct Query.

  2. Creazione di un modello dati con le seguenti istruzioni:

    • SELECT

      utilizzare le istruzioni SELECT per selezionare le tabelle e le colonne da caricare. Ad esempio: <TableName> SELECT <custom SQL>.

      Se non si definiscono nomi personalizzati per le tabelle nello script di caricamento, le tabelle verranno denominate Table<numero di riga script>.

      Select

    • CREATE RELATIONSHIP

      Utilizzare CREATE RELATIONSHIP per definire le relazioni tra campi e tabelle nel modello dati.

      Create relationship

    • DROP RELATIONSHIP

      Utilizzare DROP RELATIONSHIP per eliminare relazioni definite anteriormente dal modello dati.

      Rimozione di relazioni

    • DROP TABLE

      Utilizzare DROP TABLE per eliminare le tabelle definite dal modello dati per evitare possibili conflitti tra le tabelle.

    • LET, SET

      Utilizzare le istruzioni LET e SET per definire variabili ed espressioni Qlik.

      Let

      Set

    Le tabelle e i campi devono essere denominati in modo univoco in tutto il modello dati. Se si definisce una tabella nel Gestione modello dati e si tenta di ridefinire la tabella nell'SQL personalizzato, questa genererà errore se non si elimina la tabella creata nel Gestione modello dati o se la tabella e i campi non vengono rinominati nell'SQL personalizzato.

Qualsiasi istruzione dello script non supportata nella sezione section directquery genera errore quando si caricano i dati. Qualsiasi impostazione per il debug degli script o la continuazione forzata viene ignorata.

Per gli esempi di script di caricamento dell'SQL personalizzato, vedere Esempi di SQL personalizzato per Direct Query.

SQL personalizzato, variabili ed espressioni

Le definizioni SQL personalizzate in Direct Query consentono di utilizzare le variabili degli script e le macro delle espressioni Qlik in un'istruzione SQL personalizzata.

Questa capacità consente di applicare l'impatto e la flessibilità di una variabile e di un'espressione dinamica al modello dati di un'app con tabelle e colonne definite con l'SQL personalizzato regolandole in base ai risultati della valutazione della variabile o dell'espressione Qlik.

Variabili nell'SQL personalizzato

Utilizzare le istruzioni SETLET per definire le variabili. Aggiungere le variabili allo script di caricamento utilizzando il formato $(<variable name>).

Esempio: creazione di un modello dati che include variabili

I riferimenti alla variabile nell'SQL personalizzato vengono valutati al momento del ricaricamento. Se il valore della variabile cambia mentre si utilizza l'app, la modifica non verrà riflessa nell'SQL personalizzato che utilizza tale variabile a meno che non sia in esecuzione uno script di ricaricamento.

Se si desidera utilizzare delle variabili dinamiche nelle definizioni SQL personalizzate, fare riferimento alle variabili come parte delle espressioni Qlik per forzare la valutazione delle variabili all'esecuzione di ogni query che utilizza tali definizioni SQL personalizzate.

Per maggiori informazioni sulle variabili, vedere Utilizzo delle variabili nell'editor caricamento dati.

Espressioni nell'SQL personalizzato

È possibile utilizzare le espressioni per modificare il contenuto dell'SQL personalizzato da inviare al database remoto per rappresentare le tabelle e le colonne nel modello dati dell'app. Le espressioni utilizzate nel modello dati devono restituire un valore singolo.

Nota di suggerimento

Per testare se un'espressione restituisce un singolo valore, aggiungerla come un'espressione a un KPI. Se funziona, l'espressione può essere utilizzata nell'SQL personalizzato.

Le espressioni vengono valutate in modo dinamico all'esecuzione di ogni query che utilizza tali definizioni SQL. Ogni volta che un'istruzione SQL personalizzata di tabelle e campi utilizza delle espressioni Qlik durante l'esecuzione di una query, tali espressioni Qlik per prima cosa vengono valutate per recuperare i risultati correnti delle espressioni. I risultati vengono inseriti nell'istruzione SQL personalizzata per essere eseguite al posto della query originale. Le valutazioni delle espressioni Qlik possono a loro volta generare query SQL dal database remoto. Le valutazioni delle espressioni Qlik possono a loro volta generare query SQL dal database remoto.

Se un'espressione genera errore e non si espande durante il caricamento, restituirà un valore null. Ciò non significa che l'espressione non sia valida. L'espressione può richiedere che le selezioni vengano effettuate dagli utenti in un'app da valutare.

Esempio: creazione di un modello dati con espressioni Qlik

Creazione di un modello dati con SQL personalizzato e il Gestione modello dati

Per creare il modello dati per Direct Query, è possibile utilizzare una combinazione di SQL personalizzato e Gestione modello dati. Tuttavia, sono necessarie alcune considerazioni di natura pratica:

  • Come procedura consigliata, completare qualsiasi modellazione che si desidera realizzare in Gestione modello dati prima di aggiungere l'SQL personalizzato allo script di caricamento. L'SQL personalizzato e il Gestione modello dati dovrebbero essere utilizzati insieme quando si usa il Gestione modello dati per definire le tabelle caricate e le relazioni tra i campi, e l'SQL personalizzato viene utilizzato per apportare ulteriori personalizzazioni.

  • La porzione del modello dati creata dal Gestione modello dati e la porzione creata dall'SQL personalizzato sono gestite in modo separato e poi combinate insieme durante il ricaricamento dello script. Il Gestione modello dati non visualizza nessuno dei modelli dati definiti dall'SQL personalizzato. Per consentire la visualizzazione del modello dati completo, utilizzare Sistema di visualizzazione modello dati.

  • Il modello dati creato dal Gestione modello dati e il modello dati definito dall'SQL personalizzato devono usare una connessione allo stesso database.

  • È possibile spostare l'istruzione IMPORT LIVE aggiunta allo script di caricamento dal Gestione modello dati. Lo script di caricamento viene valutato in modo sequenziale, quindi la nuova posizione può avere un impatto sui requisiti dell'SQL personalizzato. Per esempio, potrebbe creare relazioni indesiderate o duplicare i nomi delle tabelle nel modello dati finale.

  • Le tabelle e i campi devono essere denominati in modo univoco in tutto il modello dati. Se si definisce una tabella nel Gestione modello dati e si tenta di ridefinire la tabella nell'SQL personalizzato, questa genererà errore se non si elimina la tabella creata nel Gestione modello dati o se la tabella e i campi non vengono rinominati nell'SQL personalizzato.

Limitazioni

L'SQL personalizzato per Direct Query ha le seguenti limitazioni:

  • L'SQL personalizzato può utilizzare solo un unico database.

  • Un'app Direct Query che utilizza una o più istruzioni SQL personalizzate con macro di espressioni Qlik incorporate non può essere utilizzata come un'app di selezione per le app On-Demand. Ciò è dovuto al fatto che qualsiasi app modello generata, essendo un'app in memoria, non può supportare le macro delle espressioni Qlik nel relativo script di caricamento.

  • L'SQL personalizzato Direct Query non è supportato per gli script aggiunti all'hub. Per informazioni sugli script, vedere Utilizzo di Editor di script.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!