Opzioni di lettura in Envision

Le opzioni di lettura in Envision












Home » Risorse » Qui

L'assegnamento read (leggi) in Envision offre la possibilità di caricare uno o più file in una tabella. Più avanti vedremo in dettaglio le varie opzioni possibili per l'assegnamento read.


Panoramica sulla sintassi

La sintassi tipica per la lettura di un file in Envision è la seguente:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  "Order Date" as OrderDate : date
  "Quantity" as Qty
Il testo che segue la parola chiave read viene identificato come percorso. Il percorso ha il compito di abbinare i file archiviati e associati a un account Lokad.

Le colonne non devono essere elencate esplicitamente dopo la parola chiave with: in questo caso, infatti, le colonne sono disponibili all'interno dello script Envision, a patto che abbiano un nome di colonna valido (ad esempio, senza spazi, che non sono ammessi nei nomi delle colonne). Lo scopo principale della parola chiave as (come) è quello di rinominare sia tabelle che colonne.

Se l'opzione as dopo l'assegnamento read viene omessa, Envision legge il file come parte della tabella articoli.

Leggere più file

È possibile leggere più file contemporaneamente usando il carattere jolly [*] nel percorso specificato:
read "/sample/Lokad_Orders*.gz" as Orders
Sono ammessi più caratteri jolly.

Filtrare un file fra più file

Per restringere il numero di file raccolti dal carattere jolly a un solo file, l'assegnamento read supporta 3 modificatori distinti:
  • min: viene mantenuto solo il primo file (l'ordine è basato sul nome dei file);
  • max: viene mantenuto solo l'ultimo file (l'ordine è basato sul nome dei file);
  • latest: viene mantenuto solo il file modificato più di recente.

È possibile usare i modificatori in questo modo:
read max "/sample/Lokad_Orders*.gz" as Orders

Filtrare un gruppo di file fra molti file

Per restringere i file raccolti dal carattere jolly a un unico gruppo di file che condividono la stessa cartella, l'assegnamento read può sfruttare il segno di percentuale % (uno al massimo) per indicare la cartella di interesse.
read max "/%/Lokad_Orders*.gz" as Orders

L'assegnamento read raccoglierà tutti i file che combaciano con la cartella, come indicato dal modificatore. Poiché le cartelle non hanno una data di ultima modifica in Lokad, se è presente il segno di percentuale sarà possibile utilizzare solo i modificatori min e max. Allo stesso modo, quando è presente il segno di percentuale, deve essere usato un solo modificatore read.

Opzioni tabella

Per l'assegnamento read sono disponibili più opzioni:
  • skip (salta, per numeri): indica quante righe saltare all'inizio del file mentre il file viene letto. Se omesso, il valore predefinito è uguale a zero;
  • separator (separatore, per testo): indica quale separatore usare tra i valori delle celle quando il file viene analizzato. Se omesso, Envision usa sistemi euristici di identificazione automatica per determinare il separatore più probabile;
  • quotes (valori, per booleani): se viene usato false (falso), i valori estremi trovati in un token cella sono considerati parte del token e non vengono saltati. Se omesso, il valore predefinito è true (vero), che fa in modo che Envision salti i valori estremi, come avviene di solito con i file CSV (comma-separated values);
  • encoding (codifica, per testo): la codifica di testo che viene usata durante l'analisi del file. I valori accettati per la codifica sono UTF-8, UTF-16 e latin1. Se omesso, Envision ricorre a un sistema euristico di identificazione automatica per stabilire la codifica più probabile.

Queste opzioni possono essere specificate come nello script qui sotto:
read "/sample/Lokad_Orders.csv.gz" skip:0 separator:"\t" quotes:false encoding:"UTF-8"

Opzioni tipo di tabella

Envision offre la possibilità di definire le chiavi primarie per una tabella elencandole tra parentesi, subito dopo aver specificato il nome della tabella. Sono permesse solo 7 combinazioni di chiavi primarie:
read "a.csv" as A[*]
read "b.csv" as B[Id]
read "c.csv" as C[Id, *]
read "d.csv" as D[Date]
read "e.csv" as E[Date, *]
read "f.csv" as F[Id, Date]
read "g.csv" as G[Id, Date, *]

L'opzione tipo di tabella può anche essere omessa: in tal caso, il tipo predefinito applicato è [Id, Date, *].

Opzioni colonna

Per ogni colonna sono supportate più opzioni:

  • i dati contenuti nelle colonne possono essere di tipo text (testo), number (numero), date (data), bool (booleano) o distribution (distribuzione). Il tipo di dato è introdotto dopo i due punti (:) che seguono il nome della colonna;
  • date: la stringa formato di data;
  • number: la stringa formato di numero.

L'uso delle opzioni colonna è illustrato nello script qui di seguito:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  date:"dd-MM-yyy" as OrderDate : date
  number:"1,000.00" as Qty

Specificare la colonna è facoltativo. Quando la colonna è specificata, specificare il tipo di dati della colonna è facoltativo. Se il tipo di dati non è specificato all'interno dell'assegnamento read, questo viene dedotto dall'uso all'interno dello script Envision.

Le distribuzioni sono un tipo di dati avanzati supportati unicamente dal formato di file Ionic di Lokad.

Opzioni numero

La stringa per il formato di numero riflette il formato desiderato per i numeri:
  • il carattere dopo l'1 iniziale è il separatore delle migliaia e può essere omesso;
  • il carattere prima dell'ultimo zero è il separatore dei decimali e può essere omesso.

Opzioni data

La stringa per il formato dell'opzione date (data) può essere costruita a partire dai token seguenti:

  • d: giorno del mese da 1 a 31;
  • dd: uguale a d ma con uno 0 davanti;
  • ddd: giorno della settimana abbreviato (es. Lun, Mar...);
  • dddd: giorno della settimana per intero (es. Lunedì, Martedì...);
  • MM: numero del mese da 1 a 12;
  • MMM: nome del mese abbreviato (es. Giu);
  • MMMM: nome del mese per intero (es. Giugno);
  • yy: anno da 00 a 99 (ignora le centinaia e le migliaia);
  • yyyy: anno a quattro cifre.