<< 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
Funzione
ProjectionList(IList list, String projectionExpression)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
list |
Lista di partenza. |
|
|
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.