<< Fare clic per visualizzazione il sommario >> Percorso: Il linguaggio OEL > Funzioni > Max |
Restituisce il valore massimo tra gli elementi di una lista.
Funzione
Max(IList list, String projectionExpression, String selectionExpression)
La funzione può essere utilizzata nelle seguenti modalità:
1) Max(IList list)
2) Max(IList list, String projectionExpression)
3) Max(IList list, String projectionExpression, String selectionExpression)
Output |
||
Nome |
Descrizione |
Tipo |
returnValue |
Valore massimo tra gli elementi della lista. |
Float |
La funzione Max restituirà il più grande elemento della lista. E' necessario che tutti gli elementi siano della stessa tipologia, con interfaccia comparabile, altrimenti la funzione restituirà un errore. Si può utilizzare con un oggetto ArrayValue o IList. Nel caso in cui gli elementi della lista siano dati strutturati o collegamenti estesi, è possibile specificare delle espressioni di proiezione e opzionalmente selezione. Nel caso in cui gli elementi della lista siano scalari, è possibile specificare opzionalmente delle espressioni di selezione. Quando si esegue un'operazione matematica con i numeri, il risultato ottenuto è di tipo Float e va assegnato ad un campo di tipo numerico decimale o numerico a virgola mobile.
Modalità 1)
Max(IList list)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
list |
Lista di partenza: deve essere una lista di elementi numerici. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Valore massimo tra gli elementi della lista. |
Float |
|
Commenti
Se list è di tipo lista di collegamenti viene restituito errore.
Esempio
Data una lista di oggetti di tipo numerico intero ListaNum, vogliamo conoscere il valore massimo tra gli elementi della stessa.
Max(#data.Fields['ListaNum']) |
Modalità 2)
Max(IList list, String projectionExpression)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
list |
Lista di partenza: può essere una lista dati strutturati o collegamenti estesi con un campo numerico. |
|
|
projectionExpression |
Espressione di proiezione, utile ad individuare una colonna di valori della lista su cui calcolare il valore massimo. |
String |
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Valore massimo tra gli elementi della lista. |
Float |
|
Commenti
L'espressione di proiezione è obbligatoria e serve ad individuare, data una lista di strutture, su quale campo di tipo numerico si vuole ottenere il valore massimo. Se le strutture della lista sono eterogenee, l'espressione viene applicata solo ai dati strutturati e collegamenti estesi che possiedono il campo. L'espressione di proiezione, come variabile di contesto, fa riferimento ai campi delle strutture dati che compongono la 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. Per maggiori informazioni sulle espressioni di proiezione consultare ProjectionList.
Esempio
Dato un modello di tipo Dati con un campo di tipo lista di dati strutturati, ognuno dei quali contiene un campo denominato Importo. Si vuole ottenere il valore massimo di tutti i valori riportati nel campo Importo.
Max(#data.Fields['ListaDatiStrutturati'],'Fields[''Importo'']') |
Modalità 3)
Max(IList list, String projectionExpression, String selectionExpression)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
list |
Lista di partenza: può essere una lista di scalari, una lista dati strutturati o una lista di collegamenti estesi con un campo numerico. |
|
|
projectionExpression |
Espressione di proiezione, utile ad individuare una colonna di valori della lista su cui calcolare il valore massimo. Per le liste di scalari specificare null. |
String |
|
selectionExpression |
Espressione di selezione, utile ad individuare un sottoinsieme di righe della lista. |
String |
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Valore massimo tra gli elementi della lista. |
Float |
|
Commenti
L'espressione di proiezione projectionExpression è obbligatoria per le liste di dati strutturati e collegamenti estesi ed è utile ad individuare su quale campo numerico di esse si vuole ottenere il valore massimo. Se le strutture della lista sono eterogenee, l'espressione viene applicata solo ai dati strutturati e collegamenti estesi che possiedono il campo.
L'espressione di selezione selectionExpression, può essere utilizzata per le liste di scalari, dati strutturati e collegamenti estesi ed è utile ad applicare un filtro sugli elementi della lista. Se selectionExpression viene fornita il campo selezionato non deve essere necessariamente numerico, ma può essere di qualunque tipo.
Per le liste di dati strutturati e collegamenti estesi in cui sono specificate entrambe le espressioni projectionExpression e selectionExpression, la funzione esegue su list la selezione e al risultato ottenuto applica la proiezione.
Le espressioni di proiezione e selezione, come variabile di contesto, fanno riferimento ai dati che compongono la lista list. Per utilizzare in un'espressione 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. Per maggiori informazioni sulle espressioni di proiezione consultare ProjectionList. Per maggiori informazioni sulle espressioni di selezione consultare SelectionList.
Esempio 1
Dato un modello di tipo Dati con un campo di tipo lista di numerici ListaNum, si vuole ottenere il valore massimo tra gli elementi della lista con valore superiore a 10.
Max(#data.Fields['ListaNum'],null, '#this>10') |
Esempio 2
Dato un modello di tipo Dati con un campo di tipo lista di dati strutturati, ognuno dei quali contiene un campo denominato Importo. Si vuole ottenere il valore massimo di tutti i valori riportati nel campo Importo con valore superiore a 10.
Max(#data.Fields['ListaDatiStrutturati'],'Fields[''Importo'']', 'Fields[''Importo'']>10') |