ProjectionList

<< Fare clic per visualizzazione il sommario >>

Percorso:  Il linguaggio OEL > Funzioni >

ProjectionList

Restituisce la colonna di una lista di elementi ottenuta applicando ad essa una espressione di proiezione.

Ad esempio, data una lista di dati strutturati che contengono campi di tipo testo breve, la funzione ProjectionList restituisce, in un lista, la colonna dei dati strutturati che verificano un'espressione di proiezione specifica. Nella figura seguente viene illustrato il risultato di una ProjectionList, applicata ad una lista di dati strutturati, con espressione di proiezione che restituisce tutti i valori della colonna proprietà uno.

 

Esempio ProjectionList

Esempio ProjectionList

 

Funzione

ProjectionList(IList list, String projectionExpression)

 

Input

Nome

Descrizione

Tipo

Opzionale

list

Lista di partenza.

IList

 

projectionExpression

Espressione di proiezione.

String

 

Output

Nome

Descrizione

Tipo

Opzionale

returnValue

Lista ottenuta applicando l'espressione di proiezione alla lista di partenza.

ArrayValue

 

 

Commenti

L'espressione di proiezione projectionExpression è di tipo stringa e come variabile di contesto fa riferimento alle colonne della lista list. Per utilizzare nell'espressione di proiezione una funzione della libreria OEL è necessario utilizzare il contesto #oel. Per invece riferirsi all'elemento della lista in valutazione occorre utilizzare la variabile di contesto #this.

 

Esempio

Data una lista di dati strutturati che contengono tra i campi aggiuntivi un campo denominato Importo, si vuole ottenere la somma totale di tutti i campi importo riportati nella lista.

La funzione di OEL da utilizzare sarà la ProjectionList applicando un'espressione di proiezione che recupera i valori della colonna Importo e ne esegue la somma.

 

ProjectionList(#data.Fields['ElencoSpese'],'Fields[''Importo'']').sum()

 

Il contesto di validazione dell'espressione di proiezione è la colonna della lista, che è un lista di numerici decimali. Per riferirsi al campo specifico del dato strutturato si deve scrivere direttamente Fields e tra parentesi quadre il nome del campo. Tipicamente il nome del campo è specificato tra due apici (ad esempio Fields['Importo']); nella espressione di proiezione, che a sua volta è una stringa, è necessario aggiungere un escape per ogni apice previsto e quindi il nome del campo è racchiuso tra due volte il singolo apice ''Importo''. Se si utilizza il simbolo doppio apice il processo va in errore.