Aggiunta di trasformazioni SQL
È possibile includere tabelle basate su SQL nelle attività di trasformazione. Una trasformazione SQL consente di inserire una query SELECT SQL in una pipeline per definire trasformazioni complesse o semplici. È possibile lasciare che SQL assistant generi una query da un prompt di testo utilizzando l'IA generativa. È inoltre possibile utilizzare le macro per adattare la query in modo che venga eseguita se viene eseguito un caricamento iniziale o un caricamento incrementale.
È possibile utilizzare SQL workbench per esplorare i dati e convalidare l'SQL di sola lettura prima di aggiungere l'SQL a una trasformazione. Per ulteriori informazioni, vedere Esplorazione dei dati con SQL Workbench.
Per ulteriori informazioni sulla creazione di un'attività di trasformazione, vedere Trasformazione dei dati.
Aggiunta di una trasformazione SQL
Per aggiungere una trasformazione SQL in un'attività dati Trasforma:
-
In Trasforma, selezionare i set di dati da includere nella query e fare clic su Aggiungi trasformazione SQL.
Impostare il nome della trasformazione in Nome. Per ulteriori informazioni sulle altre impostazioni, vedere Impostazioni.
Fare clic su Aggiungi quando si è pronti per creare la trasformazione SQL.
Viene visualizzato Modifica trasformazione SQL.
-
Scrivere la query per restituire la tabella basata su SQL nel riquadro della query.
Per ulteriori informazioni, vedere Modifica della query SQL.
-
Fare clic su Esegui query.
In questo modo verranno recuperati i metadati e un'anteprima dei dati.
-
Rivedere i parametri in Parametri.
Per ulteriori informazioni, vedere Parametri.
-
Impostare una chiave primaria in Metadati.
Per ulteriori informazioni, vedere Metadati.
-
Quando si è soddisfatti dei risultati della query, fare clic su Salva e chiudi. Il set di dati viene ora aggiunto all'elenco delle destinazioni ed è possibile visualizzarne l'anteprima.
Modifica della query SQL
Digitare la query per restituire la tabella basata su SQL nel riquadro della query. La query può leggere solo dai set di dati di origine selezionati, ma è possibile aggiungere altri set di dati di origine con Aggiungi.
-
È possibile creare un'istruzione per caricare un set di dati da Oggetti. Fare clic su
e quindi su Aggiungi istruzione SELECT.
-
È possibile copiare il nome di un set di dati negli appunti facendo clic su
e quindi su Copia.
-
Fare clic su > per spostare un set di dati o il nome di una colonna nell'editor.
-
Fare clic su
per cercare e sostituire il testo nell'editor.
Se viene utilizzato il caricamento incrementale, è possibile utilizzare le Macro per adattare la query in modo che venga eseguita se viene eseguito un caricamento iniziale o un caricamento incrementale.
Per ulteriori informazioni, vedere Utilizzo delle macro per adattare la query al tipo di caricamento.
Scorciatoie da tastiera
-
Ctrl+F Cerca e sostituisci
-
Ctrl+/ Commenta/rimuovi commento dalla riga corrente
-
Ctrl+Invio Esegui la query
-
Ctrl+Z Annulla
-
Ctrl+Y Ripeti
Anteprima dei risultati
È possibile visualizzare in anteprima i risultati utilizzando un campione dei dati in Risultati.
È necessario disporre dei seguenti ruoli per poter visualizzare in anteprima i dati:
-
Può visualizzare i dati nello spazio in cui risiede la connessione.
-
Può visualizzare nello spazio in cui risiede il progetto.
Vengono visualizzati i risultati che utilizzano dati campione. È possibile impostare quante righe di dati includere nel campione con Numero di righe.
-
Fare clic su Ultima query eseguita per visualizzare l'ora dell'ultima esecuzione e la durata dell'ultima query eseguita.
Filtro dei risultati
È possibile filtrare i risultati in base a una o più colonne.
-
Fare clic su
sulla prima colonna in base a cui filtrare e quindi su Filtro.
Selezionare quale operatore utilizzare e in base a quale valore filtrare.
È possibile aggiungere altri filtri di colonna facendo clic su Aggiungi filtro.
Il filtro influirà solo sui dati campione esistenti.
Ordinamento dei risultati
È possibile ordinare i dati campione in base a una colonna specifica.
-
Fare clic su
sulla colonna in base a cui ordinare e quindi su Ordine crescente o Ordine decrescente.
L'ordinamento influirà solo sui dati campione esistenti. Se si è utilizzato un filtro per includere solo gli ordini del 2024 e si inverte l'ordinamento, i dati campione conterranno comunque solo gli ordini del 2024.
Gestione delle colonne visualizzate
È possibile selezionare quali colonne visualizzare nei risultati. La selezione non viene salvata quando si salva la trasformazione.
-
Nascondere una colonna facendo clic su
sulla colonna e quindi su Nascondi colonna.
-
Gestire la visualizzazione di tutte le colonne facendo clic su
su qualsiasi colonna e quindi su Colonne visualizzate.
Parametri
Fare clic su Parametri per modificare i parametri nella query SELECT. I parametri devono essere mappati agli oggetti di origine o di destinazione.
I parametri vengono mappati automaticamente quando si:
-
Utilizza Aggiungi istruzione SELECT in Oggetti.
-
Fa clic su > per spostare un set di dati o il nome di una colonna nell'editor.
-
Il nome di un parametro corrisponde al nome di una tabella tra le tabelle in Oggetti.
È possibile mappare a
-
Strutture di tipo cronologia 2 (_history)
-
Strutture correnti
-
Oggetti di destinazione
È possibile mappare gli oggetti di destinazione solo quando un parametro è definito all'interno di una macro incrementale.
Metadati
È possibile modificare le impostazioni dei metadati in Metadati.
-
Impostare le chiavi primarie nella colonna Chiave.
È possibile ottenere suggerimenti per chiavi primarie adatte e convalidare le chiavi facendo clic su Suggerisci e convalida chiavi.
-
Impostare se la colonna ammette valori null nella colonna Ammette valori null.
-
Selezionare una colonna e fare clic su Modifica per impostare il nome della colonna, la chiave, se ammette valori null e il tipo di dati.
Suggerimento e convalida delle chiavi
È possibile ottenere suggerimenti per chiavi primarie adatte e convalidare le chiavi facendo clic su Suggerisci e convalida chiavi. La query SQL completa deve essere stata eseguita almeno una volta.
-
La GenAI viene utilizzata per suggerire le chiavi se si è scelto di aderire all'inferenza tra regioni. Ciò consente a Qlik Cloud di inviare richieste di inferenza al di fuori della regione del tenant. Per i dettagli e le informazioni più recenti sulle posizioni di elaborazione dell'inferenza, vedere Attivazione dell'inferenza in più regioni.
Nota informaticaQlik non controlla l'output generato. A causa della natura della GenAI, le risposte potrebbero non produrre SQL che soddisfi i requisiti senza revisione o modifica. La query generata è considerata "Contenuto" ai sensi del Contratto clienti Qlik.Nota su Qlik Cloud GovernmentIl suggerimento delle chiavi assistito dalla GenAI non è disponibile in Qlik Cloud Government.
Se la GenAI non è abilitata, le chiavi verranno suggerite a livello di programmazione in base ai dati della tabella di origine.
-
La convalida verrà sempre eseguita senza utilizzare la GenAI eseguendo una query SQL per assicurarsi che non vi siano duplicati o valori NULL.
Nota informaticaLa convalida è disponibile solo quando la query ha restituito dati.
-
Suggerisci e convalida chiavi
In questo modo verranno esaminate la query e le chiavi della tabella di origine e verranno suggerite chiavi primarie valide. Questa operazione potrebbe richiedere del tempo.
-
Convalida chiavi
In questo modo verranno convalidate le chiavi primarie esistenti per garantire che siano univoche e non NULL. Questa operazione potrebbe richiedere del tempo.
-
Suggerisci senza convalida
In questo modo verranno esaminate la query e le chiavi della tabella di origine e verranno suggerite chiavi primarie senza convalida. Rivedere e convalidare le chiavi manualmente prima di applicarle.
Esecuzione della query
È possibile eseguire la query in qualsiasi momento durante lo sviluppo facendo clic su Esegui query. La prima volta che si esegue una query, verranno recuperati i metadati. Quando la query viene eseguita, è possibile andare su Metadati e impostare una chiave primaria, necessaria per completare la trasformazione.
Utilizzo delle macro per adattare la query al tipo di caricamento
Se viene utilizzato il caricamento incrementale, è possibile utilizzare le Macro per adattare la query in modo che venga eseguita se viene eseguito un caricamento iniziale o un caricamento incrementale.
Selezionare la macro e aggiungere la query all'interno della rispettiva clausola.
-
Q_RUN_INCREMENTAL aggiunge una clausola in cui è possibile inserire una query che viene eseguita solo quando viene eseguito un caricamento incrementale.
-
Q_RUN_INITIAL_LOAD aggiunge una clausola in cui è possibile inserire una query che viene eseguita solo quando viene eseguito un caricamento iniziale.
Non è necessario specificare la query completa con ogni macro. È possibile regolare o aggiungere codice in base al proprio caso d'uso.
Caso d'uso: Filtro incrementale utilizzando l'intervallo di date:
In questo caso d'uso, un set di dati degli ordini deve essere trasformato con SQL personalizzato. Poiché si tratta di un set di dati di grandi dimensioni, si desidera includere il filtro incrementale per garantire che il caricamento incrementale consideri solo gli ordini delle ultime 12 ore.
Questa è la query di base:
Questo è il filtro da applicare durante l'esecuzione incrementale, in cui si considerano solo gli ordini aggiunti nelle ultime 12 ore:
Questa è la query completa, che utilizza la macro del filtro e con i nomi delle tabelle sostituiti con la notazione ${TABLE}:
Ciò si traduce in una query di caricamento iniziale:
E una query di caricamento incrementale:
Caso d'uso: Filtro incrementale utilizzando i dati nella destinazione:
In questo caso d'uso, un set di dati degli ordini deve essere trasformato con SQL personalizzato. Poiché gli ordini sono un set di dati di grandi dimensioni, si desidera includere il filtro incrementale per garantire che il caricamento incrementale consideri solo i record dei dettagli dell'ordine più recenti rispetto ai dati nella tabella di destinazione. Si desidera inoltre contrassegnare se una riga è stata elaborata dal caricamento iniziale o da un caricamento incrementale.
Questa è la query di base:
Questo è il filtro da applicare durante l'esecuzione incrementale. “ORDERS_DERIVED” è il nome del set di dati di destinazione.
Questa è la query completa, che utilizza la macro del filtro e con i nomi delle tabelle sostituiti con la notazione ${TABLE}. LOADED_BY è impostato su INIT se il caricamento è iniziale e su INCR se il caricamento è incrementale:
Ciò si traduce in una query di caricamento iniziale:
E una query di caricamento incrementale:
Impostazioni
Fare clic su per modificare le impostazioni della trasformazione SQL.
Immettere un nome per il set di dati di destinazione in Nome.
È anche possibile aggiungere una descrizione più lunga in Descrizione.
In Materializzazione, selezionare se l'output trasformato dovrebbe essere materializzato o meno. È possibile scegliere di ereditare l'impostazione dalle impostazioni delle attività dati.
-
L'opzione Attivo creerà le tabelle e gestirà l'elaborazione ELT associato.
-
L'opzione Disattivato creerà visualizzazioni che eseguono trasformazioni al volo.
In Archivio dati cronologico (Tipo 2), selezionare se si desidera conservare i dati cronologici. È possibile scegliere di ereditare l'impostazione dalle impostazioni delle attività dati. Questa impostazione richiede che la Materializzazione sia attiva.
Caricamento incrementale consente di regolare la query per un caricamento di dati incrementali applicando filtri o altre condizioni per ridurre il set di dati elaborato tramite macro. Caricamento incrementale è disponibile solo se i dati sono materializzati come tabelle.
-
Quando Caricamento incrementale è Attivato
La prima esecuzione dell'attività eseguirà un caricamento iniziale, inserendo tutti i risultati della query nella propria tabella di destinazione. Le esecuzioni successive eseguiranno caricamenti incrementali sfruttando filtri o condizioni specifiche che l'utente ha definito per l'elaborazione incrementale. Durante il caricamento incrementale, l'attività elaborerà dati solo sotto forma di aggiornamento o inserimento, le eliminazioni non sono gestite.
-
Quando Caricamento incrementale è Disattivato
La prima esecuzione dell'attività eseguirà un caricamento iniziale, inserendo tutti i risultati della query nella propria tabella di destinazione. Le esecuzioni successive elaboreranno tutti i risultati della query tramite la comparazione con la tabella di destinazione e l'elaborazione di record nuovi, modificati o eliminati.
Best practice
-
Quando si aggiunge una trasformazione SQL, non viene definita automaticamente una chiave primaria. Aggiungere una chiave al set di dati nella scheda Set di dati.
-
Non creare manualmente le intestazioni di colonna nell'output trasformato.
-
Evitare di utilizzare SELECT con *, poiché ciò potrebbe restituire colonne diverse ogni volta che viene eseguita la query. Se si è verificata una modifica nello schema, modificare la query di conseguenza ed eseguire nuovamente Descrivi tabella. Quindi è possibile modificare le colonne e regolare le tabelle.