RangeAvg - script- en grafiekfunctie
RangeAvg() retourneert het gemiddelde van een bereik. De invoer van de functie is een waardebereik of een uitdrukking.
Syntaxis:
RangeAvg(first_expr[, Expression])
Retourgegevenstypen: numeriek
Argumenten:
Het argument van deze functie kan interrecordfuncties bevatten die op hun beurt een bereik van waarden opleveren.
- first_expr: De uitdrukking die of het veld dat de gegevens bevat waarvan het gemiddelde moet worden berekend.
- Expression: Optionele uitdrukkingen of velden met extra gegevens waarvan het gemiddelde moet worden berekend. Er kunnen meerdere extra uitdrukkingen worden gebruikt.
Beperkingen:
Als er geen numerieke waarde wordt gevonden, wordt NULL geretourneerd.
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
RangeAvg (1,2,4) |
Retourneert 2.33333333 |
RangeAvg (1,'xyz') | Retourneert 1 |
RangeAvg (null( ), 'abc') | Retourneert NULL |
Voorbeeld: (gebruikt uitdrukking)
RangeAvg (Above(MyField),0,3))
Retourneert een glijdend gemiddelde van het resultaat van het bereik van drie waarden van MyField berekend op de huidige rij en de twee rijen boven de huidige rij. Doordat het derde argument wordt opgegeven als 3, retourneert de functie Above() drie waarden, met voldoende rijen erboven, die als invoer worden gebruikt voor de functie RangeAvg().
MyField | RangeAvg (Above(MyField,0,3)) | Uitleg |
---|---|---|
10 | 10 | Omdat dit de bovenste rij is, bestaat het bereik uit slechts één waarde. |
2 | 6 | Er bevindt zich slechts één rij boven deze rij, dus is het bereik: 10,2. |
8 | 6.6666666667 | Het equivalent van RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
Gegevens die worden gebruikt in voorbeelden:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Voorbeeld: (in tabelvorm)
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
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
];
De resulterende tabel bevat de geretourneerde waarden van MyRangeAvg voor elk van de records in de tabel.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |