Load
L'istruzione LOAD carica i campi da un file, dai dati definiti nello script, da una tabella caricata in precedenza, da una pagina Web, dal risultato di un'istruzione SELECT seguente o dalla generazione automatica di dati. È anche possibile caricare dati da connessioni di analisi.
Sintassi:
LOAD [ distinct ] fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]|
inline data [ format-spec ] |
resident table-label |
autogenerate size ) |extension pluginname.functionname([script] tabledescription)]
[ where criterion | while criterion ]
[order by orderbyfieldlist ]
Argomento | Descrizione |
---|---|
distinct | È possibile utilizzare distinct come predicato se si desidera caricare solo record univoci. Se ci sono record duplicati, verrà caricata la prima istanza. Se si utilizzano caricamenti precedenti, è necessario inserire distinct nella prima istruzione di caricamento, dal momento che distinct ha effetto solo sulla tabella di destinazione. |
fieldlist | fieldlist ::= ( * | field{, * | field } ) Un elenco di campi da caricare. L'utilizzo del carattere * come elenco dei campi indica tutti i campi della tabella. field ::= ( fieldref | expression ) [as aliasname ]La definizione di campo deve sempre contenere un valore letterale, un riferimento a un campo esistente o un'espressione. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )fieldname è un testo che è identico al nome di un campo nella tabella. Tenere presente che il nome di campo deve essere racchiuso da virgolette doppie o parentesi quadre se, ad esempio, contiene spazi. Talvolta i nomi dei campi non sono disponibili in modo esplicito. Verrà quindi utilizzata una notazione differente: @fieldnumber rappresenta il numero di campo di un file tabellare delimitato. Deve essere un intero positivo preceduto da "@". La numerazione viene sempre eseguita partendo da 1 fino al numero di campi presenti. @startpos:endpos rappresenta le posizioni di inizio e di fine di un campo in un file con record a lunghezza fissa. Le posizioni devono essere entrambe numeri interi positivi. I due valori numerici devono essere preceduti dal simbolo "@" e separati da due punti. La numerazione viene sempre eseguita partendo da 1 fino al numero di posizioni presenti. Nell'ultimo campo n viene utilizzato come posizione finale.
expression può essere una funzione numerica o una funzione stringa basata su uno o molti altri campi della stessa tabella. Per ulteriori informazioni, vedere la sintassi delle espressioni. |
from | from viene utilizzato se i dati devono essere caricati da un file mediante una cartella. Quando si esegue il caricamento da un file in Qlik Cloud Analytics, è necessario utilizzare un percorso valido. Vedere Regole per i percorsi validi delle cartelle nello spazio. file ::= [ path ] filename In Qlik Cloud Analytics, le strutture gerarchiche delle cartelle sono supportate e possono essere referenziate nell'istruzione. Esempi:
Per maggiori informazioni ed esempi, vedere Caricamento di file dagli spazi in Qlik Cloud Analytics. |
from_field | from_field viene utilizzato nel caso in cui i dati devono essere caricati da un campo caricato in precedenza. fieldassource::=(tablename, fieldname) Il campo è il nome del valore di tablename e fieldname caricato in precedenza. format-spec ::= ( fspec-item {, fspec-item } )La specifica del formato è costituita da un elenco di più voci di specifica del formato, racchiuse tra parentesi. Per ulteriori informazioni, vedere Voci per la specifica del formato. Nota informaticafrom_field supporta solo le virgole come delimitatore di elenco quando si separano campi nelle tabelle. |
inline | inline viene utilizzato quando i dati devono essere immessi direttamente nello script e non caricati da un file. data ::= [ text ] I dati immessi mediante una clausola inline devono essere racchiusi da caratteri specifici, come parentesi quadre, virgolette doppie o apici. Il testo tra parentesi o virgolette viene interpretato allo stesso modo del contenuto di un file. Pertanto, quando si desidera immettere una nuova riga in un file di testo, è necessario eseguire la stessa operazione anche nel testo di una clausola inline: premendo il tasto INVIO mentre si digita lo script. In un semplice caricamento inline, il numero di colonne è definito nella prima riga. format-spec ::= ( fspec-item {, fspec-item } )È possibile personalizzare il caricamento inline con molti degli stessi elementi di specifica di formato che sono disponibili per altre tabelle caricate. Tali elementi sono elencati tra parentesi. Per ulteriori informazioni, vedere Voci per la specifica del formato. Per ulteriori informazioni sui caricamenti inline, vedere Utilizzo dei caricamenti inline per caricare i dati. |
resident | resident viene usato se i dati devono essere caricati da una tabella caricata in precedenza. table label è un'etichetta che precede le istruzioni LOAD o SELECT che hanno creato la tabella originale. L'etichetta dovrà essere indicata con i due punti finali. |
autogenerate | autogenerate viene utilizzato se i dati devono essere automaticamente generati da Qlik Sense. size ::= number Number è un numero intero e indica il numero di record che da generare. L'elenco di campi non deve contenere espressioni che richiedono dati provenienti da una sorgente dati esterna o da una tabella caricata in precedenza, a meno che non si faccia riferimento a un singolo valore di campo in una tabella caricata in precedenza con la funzione Peek. |
where | where è una clausola utilizzata per dichiarare se un record deve essere incluso o meno nella selezione. La selezione viene inclusa se criterion è True. criterion è un'espressione logica. |
while | while è una clausola che specifica se un record deve essere letto ripetutamente. Viene letto lo stesso record finché criterion è True. Per risultare utile, una clausola while deve generalmente includere la funzione IterNo( ). criterion è un'espressione logica. |
group by | group by è una clausola usata per definire su quali campi devono essere aggregati (raggruppati) i dati. I campi di aggregazione devono essere inclusi in qualche modo nelle espressioni caricate. Nessun altro campo tranne i campi di aggregazione può essere usato al di fuori delle funzioni di aggregazione nelle espressioni caricate. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | order by è una clausola utilizzata per ordinare i record di una tabella residente prima che vengano elaborati da un’istruzione load. La tabella residente può essere ordinata su uno o più campi, in modo crescente o decrescente. L’ordinamento viene eseguito innanzitutto in base ai valori numerici e secondariamente in base all'ordine di confronto nazionale. Questa clausola può essere utilizzata solamente quando la sorgente dati è una tabella residente. I campi di ordinamento specificano il campo in base al quale viene ordinata la tabella residente. Il campo può essere specificato da un nome o dal suo numero nella tabella residente (il primo campo è il numero 1). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder è asc per crescente o desc per decrescente. Se sortorder non è specificato, viene utilizzato asc. fieldname, path, filename e aliasname sono stringhe di testo che rappresentano ciò che implica il loro rispettivo nome. Qualsiasi campo presente nella tabella sorgente può essere utilizzato come fieldname. Tuttavia, i campi creati mediante la clausola as (aliasname) non appartengono all'ambito e non possono essere utilizzati all'interno della stessa istruzione load. |
Se non viene specificata alcuna sorgente dati mediante una clausola from, inline, resident, from_field, extension o autogenerate, i dati verranno caricati dal risultato dell'istruzione SELECT o LOAD immediatamente successiva. L’istruzione successiva non dovrà avere un prefisso.
Caricamento di dati da una tabella caricata in precedenza
Esempi:
Caricamento di file dagli spazi in Qlik Cloud Analytics
In Qlik Cloud Analytics, quando si caricano dati da un file di dati in uno script di caricamento, è possibile utilizzare un'istruzione LOAD o inserire un codice QVS. In entrambi i casi, è possibile fare riferimento alle strutture gerarchiche delle cartelle nello spazio nelle istruzioni dello script. Seguire le regole per i percorsi validi delle cartelle nello spazio. Inoltre, il file e tutte le cartelle a cui si fa riferimento devono già esistere nella posizione specificata. In caso contrario, il ricaricamento non viene completato.
Esempi: Riferimento a un file nel percorso di primo livello di uno spazio
In questo esempio viene caricato il file orders.csv da uno spazio personale. Il file non si trova in una cartella specifica, ma è posizionato nel percorso di primo livello nello spazio.
LOAD * FROM [lib://DataFiles/orders.csv];
Questo esempio carica il file orders.csv da uno spazio condiviso, gestito o da uno spazio dati. Il nome dello spazio è TeamSharedSpace. Il file non si trova in una cartella specifica, ma è posizionato nel percorso di primo livello nello spazio.
LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];
Esempi: Riferimenti al percorso di una cartella specifica in uno spazio
In questo esempio viene caricato il file orders_Europe.csv dalla cartella Orders By Region in uno spazio personale.
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
Questo esempio carica il file orders_Europe.csv dalla cartella Orders By Region in uno spazio condiviso, gestito o da uno spazio dati. Il nome dello spazio è SalesSpace.
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
Per ulteriori informazioni sui riferimenti alla struttura di cartelle nello spazio negli script di caricamento, vedere Riferimento alla struttura della cartella spazio nello sviluppo di app e script.