RangeAvg - funzione dello script e del grafico
RangeAvg() restituisce la media di una scala. L'input per la funzione può essere una scala di valori o un'espressione.
Sintassi:
RangeAvg(first_expr[, Expression])
Tipo di dati restituiti: numerico
Argomenti:
Gli argomenti di questa funzione possono contenere funzioni intra-record, che a loro volta restituiscono un elenco di valori.
Argomento | Descrizione |
---|---|
first_expr | L'espressione o il campo contenente i dati da misurare. |
Expression | Le espressioni o campi opzionali contenenti la scala di dati da misurare. |
Limiti:
Se non viene trovato nessun valore numerico, viene restituito NULL.
Esempi e risultati:
Esempi | Risultati |
---|---|
RangeAvg (1,2,4) |
Restituisce 2,33333333 |
RangeAvg (1,'xyz') | Restituisce 1 |
RangeAvg (null( ), 'abc') | Restituisce NULL |
Esempio:
Aggiungere lo script di esempio all'app ed eseguirlo. Per visualizzare il risultato, aggiungere i campi elencati nella colonna risultati a un foglio nell'app dell'utente.
RangeTab3:
LOAD recno() as RangeID, RangeAvg(Field1,Field2,Field3) as MyRangeAvg INLINE [
Field1, Field2, Field3
10,5,6
2,3,7
8,2,8
18,11,9
5,5,9
9,4,2
];
La tabella risultante mostra i valori restituiti in MyRangeAvg per ciascun record della tabella.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |
Esempio con espressione:
RangeAvg (Above(MyField),0,3))
Restituisce la media mobile del risultato della scala di tre valori di MyField calcolati in base alla riga attuale e alle due righe che la precedono. Specificando 3 per il terzo argomento, la funzione Above() restituisce tre valori, se il numero di righe che precedono la riga attuale è sufficiente, che vengono considerati come input per la funzione RangeAvg().
Dati utilizzati negli esempi:
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
10 | 10 | Dato che questa è la prima riga, la scala presenta un unico valore. |
2 | 6 | Questa riga è preceduta da un'unica riga, quindi la scala è: 10,2. |
8 | 6.6666666667 | L'equivalente di RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;