<< Fare clic per visualizzazione il sommario >> Percorso: Il linguaggio OEL > Funzioni > FlattenDataSet |
Restituisce un Dataset contenente i campi del Dataset passato in input, riportati ad un unico livello.
Funzione
Dataset FlattenDataset(IDataSet inputDataSet, String separator, List of Strings fieldsToExclude)
La funzione può essere utilizzata nelle seguenti modalità:
1) FlattenDataset(IDataSet inputDataSet)
2) FlattenDataset(IDataSet inputDataSet, String separator)
3) FlattenDataset(IDataSet inputDataSet, String separator, ArrayValue fieldsToExclude)
Output |
||
Nome |
Descrizione |
Tipo |
returnValue |
Dato strutturato contenente i campi di InputDataset, con struttura appiattita. Il nome dei campi è ottenuto come concatenazione dei nomi dei campi dei dati strutturati annidati. |
Dataset |
Commenti
Se in inputDataSet è presente un collegamento esteso, il dato strutturato restituito sarà composto da tutti gli altri campi del collegamento esteso, tranne quello di tipo collegamento.
I campi lista non vengono elaborati e sono ignorati.
Modalità 1)
FlattenDataset(IDataset inputDataSet)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
inputDataSet |
Dato strutturato di cui si vuole appiattire la struttura. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
|
returnValue |
Dato strutturato contenente i campi di InputDataset, con struttura appiattita. Il nome dei campi è ottenuto come concatenazione dei nomi dei campi dei dati strutturati annidati, separato dal carattere "_".
|
Dataset |
|
Modalità 2)
FlattenDataset(IDataset inputDataSet, String separator)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
inputDataSet |
Dato strutturato di cui si vuole appiattire la struttura. |
|
|
separator |
Carattere di separazione utilizzato nella definizione dei nomi dei campi del returnValue. Se null o stringa vuota, assume il valore di default "_". |
String |
|
Output |
|||
Nome |
Descrizione |
Tipo |
|
returnValue |
Dato strutturato contenente i campi di InputDataset, con struttura appiattita. Il nome dei campi è ottenuto come concatenazione dei nomi dei campi dei dati strutturati annidati.
|
Dataset |
|
Commenti
Nel caso in cui il dato strutturato restituito deve essere utilizzato per chiamate ad API esterne, si consiglia di tener conto di eventuali limitazioni del sistema di destinazione nella scelta del separatore da utilizzare nella composizione del nome dei campi del ReturnValue. Ad esempio, nel caso del Plug Elastic Storage, alcuni caratteri sono sconsigliati, come consultabile in Definizioni e logiche.
Modalità 3)
FlattenDataset(IDataset inputDataSet, String separator, List of Strings fieldsToExclude)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
inputDataSet |
Dato strutturato di cui si vuole appiattire la struttura. |
|
|
separator |
Carattere di separazione utilizzato nella definizione dei nomi dei campi del returnValue. Se null o stringa vuota, assume il valore di default "_". |
String |
|
fieldsToExclude |
Lista dei nomi dei campi che devono essere esclusi dall'operazione, a qualsiasi livello di annidamento. |
ArrayValue |
|
Output |
|||
Nome |
Descrizione |
Tipo |
|
returnValue |
Dato strutturato contenente i campi di InputDataset, con struttura appiattita. Il nome dei campi è ottenuto come concatenazione dei nomi dei campi dei dati strutturati annidati.
|
Dataset |
|
Esempio
Si consideri la struttura "Candidato" così composta:
•Dataset Candidato, che contiene le chiavi {nome (testo), cognome (testo), indirizzo (Indirizzo), esperienzaPrincipale (Esperienza)};
•Dataset Indirizzo che contiene le chiavi {via (testo), CAP (testo), Città (testo), Provincia (testo)};
•Dataset Esperienza che contiene le chiavi {inizio (Data), inCorso (booleano), fine (Data), contraente (Contraente)};
•Dataset Contraente che contiene le chiavi {nome (Testo), tipologiaOrganizzazione (Testo), luogoLavoro (Indirizzo)},
il Dataset restituito avrà la seguente struttura:
•nome
•cognome
•indirizzo_via
•indirizzo_CAP
•indirizzo_Città
•indirizzo_Provincia
•esperienzaPrincipale_inizio
•esperienzaPrincipale_inCorso
•esperienzaPrincipale_fine
•esperienzaPrincipale_contraente_nome
•esperienzaPrincipale_contraente_tipologiaOrganizzazione
•esperienzaPrincipale_contraente_luogoLavoro_via
•esperienzaPrincipale_contraente_luogoLavoro_CAP
•esperienzaPrincipale_contraente_luogoLavoro_Città
•esperienzaPrincipale_contraente_luogoLavoro_Provincia