Aggiunta di trasformazioni SQL
È possibile includere tabelle basate su SQL nelle attività di trasformazione. Una trasformazione SQL consente di inserire query SQL SELECT in una pipeline per definire trasformazioni semplici o complesse. È possibile anche fare in modo che l'Assistente SQL generi una query utilizzando l'IA generativa. È possibile anche usare macro per adattare la query da eseguire se viene effettuato un caricamento iniziale o un caricamento incrementale.
Per maggiori informazioni sulla creazione di un'attività di trasformazione, vedere Trasformazione di 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 Name. Per ulteriori informazioni sulle altre impostazioni, vedere Impostazioni.
Quando si è pronti per creare la trasformazione SQL, fare clic su Aggiungi.
Viene visualizzata l'opzione 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 Run query.
Verranno recuperati i metadati e un'anteprima dei dati.
-
Rivedere i parametri in Parameters.
Per ulteriori informazioni, vedere Parametri.
-
Impostare una chiave primaria in Metadata.
Per ulteriori informazioni, vedere Metadati.
-
Quando si è soddisfatti dei risultati della query, fare clic su Salva e chiudi. Il set di dati 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ò solo leggere dai set di dati di origine selezionati, ma è possibile aggiungere più set di dati di origine utilizzando l'opzione Aggiungi.
-
È possibile creare un'istruzione per caricare un set di dati da Oggetti. Fare clic su
e quindi su Genera istruzione selezionata nell'editor.
-
È 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 un nome di colonna nell'editor.
-
Fare clic su
per cercare e sostituire il testo nell'editor.
Se si utilizza il caricamento incrementale, è possibile usare Macro per adattare la query da eseguire se viene effettuato un caricamento iniziale o un caricamento incrementale.
Per ulteriori informazioni, vedere Utilizzo di macro per adattare la query al tipo di caricamento.
Combinazioni di tasti di scelta rapida
-
Ctrl+F Trova 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 un'anteprima dei risultati utilizzando un campione dei dati in Risultati.
Per poter visualizzare un'anteprima dei dati, è necessario disporre dei seguenti ruoli:
-
Può visualizzare i dati nello spazio in cui risiede la connessione.
-
Può visualizzare nello spazio in cui risiede il progetto dati.
Vengono visualizzati i risultati che utilizzano un campione dei dati. È possibile impostare il numero di righe che si desidera includere nel campione nell'opzione Numero di righe.
-
Fare clic su Ultima query eseguita per visualizzare l'ora di esecuzione e la durata dell'ultima query eseguita.
Filtro dei risultati
È possibile filtrare i risultati in base a una o più colonne.
-
Fai clic su
sulla prima colonna per filtrare e quindi su Filtra.
Seleziona quale operatore utilizzare e quale valore usare per il filtro.
È possibile aggiungere altri filtri colonna facendo clic su Aggiungi filtro.
Il filtro interesserà solo i dati campione esistenti.
Ordinamento dei risultati
È possibile ordinare il campione di dati in base a una colonna specifica.
-
Fare clic su
sulla colonna in base a cui ordinare e quindi su Ordina in ordine crescente o Ordina in ordine decrescente.
Questa operazione interesserà solo i dati campione esistenti. Se si è utilizzato un filtro per includere solo gli ordini realizzati nel 2024 e si inverte l'ordinamento, i dati campione conterranno comunque solo gli ordini del 2024.
Gestione delle colonne visualizzate
È possibile selezionare le colonne da 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 una qualsiasi colonna e quindi su Colonne visualizzate.
Parametri
Fare clic su Parametri per modificare i parametri nella query SELECT. I parametri dovrebbero essere mappati agli oggetti di origine e destinazione.
I parametri vengono mappati automaticamente quando si:
-
Usa Genera istruzione selezionata nell'editor in Oggetti.
-
Fai clic su > per spostare un set di dati o un nome di colonna nell'editor.
-
Un nome di parametro corrisponde a un nome di tabella dalle tabelle in Oggetti.
È possibile mappare a
-
Strutture di tipo 2 della cronologia (_history)
-
Strutture attuali
-
Oggetti di destinazione
Quando un parametro è definito all'interno di una macro incrementale, è possibile mappare unicamente gli oggetti di destinazione.
Metadati
È possibile modificare le impostazioni dei metadati in Metadata.
-
Impostare le chiavi primarie nella colonna Chiave.
-
Impostare se la colonna è Nullable, ossia se ammette valori null.
-
Selezionare una colonna e fare clic su Modifica per impostare il nome, la chiave, il tipo di dati e se ammette valori null.
Esecuzione della query
È possibile eseguire la query in qualsiasi momento durante lo sviluppo facendo clic su Run query. La prima volta che si esegue una query, i metadati verranno recuperati. Quando la query viene eseguita, è possibile andare a Metadata e impostare una chiave primaria, necessaria affinché la trasformazione sia completa.
Utilizzo di macro per adattare la query al tipo di caricamento
Se si utilizza il caricamento incrementale, è possibile usare Macro per adattare la query da eseguire se viene effettuato un caricamento iniziale o un caricamento incrementale.
Selezionare la macro e aggiungere la query nella rispettiva clausola.
-
Q_RUN_INCREMENTAL aggiunge una clausola in cui è possibile posizionare una query che verrà eseguita solo quando viene effettuato un caricamento incrementale.
-
Q_RUN_INITIAL_LOAD aggiunge una clausola in cui è possibile posizionare una query che verrà eseguita solo quando viene effettuato un caricamento iniziale.
Non è necessario specificare la query completa con ogni macro. È possibile regolare o aggiungere un codice in base al proprio caso di utilizzo.
Caso di utilizzo: filtro incrementale che usa un intervallo di date.
In questo caso di utilizzo, un set di dati di ordini deve essere trasformato tramite SQL personalizzato. Dato che si tratta di un set di dati di grandi dimensioni, è consigliabile includere il filtro incrementale per fare in modo 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, dove si considerano solo gli ordini aggiunti nelle ultime 12 ore:
Questa è la query completa, con la macro del filtro e i nomi della tabella sostituiti con la notazione ${TABLE}:
Ciò ha come risultato una query di caricamento iniziale:
E una query di caricamento incrementale:
Caso di utilizzo: filtro incrementale che usa i dati nella destinazione.
In questo caso di utilizzo, un set di dati di ordini deve essere trasformato tramite SQL personalizzato. Dato che gli ordini sono un set di dati di grandi dimensioni, è consigliabile includere il filtro incrementale per fare in modo che il caricamento incrementale consideri solo record di dettagli degli ordini più recenti dei dati nella tabella di destinazione. È inoltre consigliabile 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, con la macro del filtro e i nomi della tabella sostituiti con la notazione ${TABLE}. LOADED_BY è impostato su INIT se il caricamento è iniziale e INCR se il caricamento è incrementale:
Ciò ha come risultato una query di caricamento iniziale:
E una query di caricamento incrementale:
Impostazioni
Fai 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.
Procedure consigliate
-
Quando si aggiunge una trasformazione SQL, non viene definita automaticamente una chiave primaria. Aggiungere una chiave al serie di dati nella scheda Serie di dati.
-
Evitare di creare manualmente intestazioni delle colonne nell'output trasformato.
-
Evitare di utilizzare SELECT con *, poiché può restituire colonne differenti ogni volta che viene eseguita la query. Se viene apportata una modifica nello schema, cambiare la query di conseguenza ed eseguire nuovamente Descrivi tabella. Quindi, è possibile modificare le colonne e regolare le tabelle.