<< Fare clic per visualizzazione il sommario >> Percorso: Il linguaggio OEL > Funzioni > Avg |
Restituisce la media dei valori forniti tramite lista.
Funzione
Avg( IList list, String projectionExpression, String selectionExpression)
La funzione può essere utilizzata nelle seguenti modalità:
1) Avg(IList list)
2) Avg(IList list, String projectionExpression)
3) Avg(IList list, String projectionExpression, String selectionExpression)
Output |
||
Nome |
Descrizione |
Tipo |
returnValue |
Media matematica tra tutti i valori della lista. |
Float |
Commenti
La funzione Avg calcola la media tra i valori numerici forniti. Per farlo, tutti gli elementi devono essere della stessa tipologia numerica e devono avere l'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.
Se list è di tipo lista di collegamenti viene restituito errore.
Modalità 1)
Avg( IList list)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
list |
Lista di partenza: deve essere una lista di elementi numerici. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Media matematica tra tutti i valori della lista. |
Float |
|
Esempio
Data una lista di oggetti di tipo numerico intero ListaNum, vogliamo calcolare la media matematica degli elementi.
Avg(#data.Fields['ListaNum']) |
Modalità 2)
Avg(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 la media matematica. |
String |
|
Output |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
returnValue |
Media matematica tra tutti i valori 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 la media matematica. Se le strutture della lista sono eterogenee, l'espressione viene applicata 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 medio di tutti i valori riportati nel campo Importo.
Avg(#data.Fields['ListaDatiStrutturati'],'Fields[''Importo'']') |
Modalità 3)
Avg(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. |
IList |
|
projectionExpression |
Espressione di proiezione, utile ad individuare una colonna di valori della lista su cui calcolare la media matematica. 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 |
Media matematica tra tutti i valori 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 la media matematica. Se le strutture della lista sono eterogenee, l'espressione viene applicata 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 la media matematica di tutti i valori riportati nella lista con valore superiore a 10.
Avg(#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 medio di tutti i valori riportati nel campo Importo con valore superiore a 10.
Avg(#data.Fields['ListaDatiStrutturati'],'Fields[''Importo'']', 'Fields[''Importo'']>10') |