RangeAvg - script- en diagramfunctie
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:
De argumenten van deze functie kunnen interrecordfuncties bevatten die op hun beurt een lijst met waarden opleveren.
Argument | Beschrijving |
---|---|
first_expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
Expression | Optionele uitdrukkingen of velden die het gegevensbereik bevatten dat moet worden gemeten. |
Beperkingen:
Als er geen numerieke waarde wordt gevonden, wordt NULL geretourneerd.
Voorbeelden en resultaten:
Voorbeelden | Resultaten |
---|---|
RangeAvg (1,2,4) |
retourneert 2,33333333 |
RangeAvg (1,'xyz') | retourneert 1 |
RangeAvg (null( ), 'abc') | Retourneert NULL |
Voorbeeld:
Voeg het voorbeeldscript toe aan uw app en voer het uit. Voeg vervolgens de velden die in de resultatenkolom staan toe aan een werkblad in uw app 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 |
Voorbeeld met 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().
Gegevens die worden gebruikt in voorbeelden:
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
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 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;