RangeAvg - skript- och diagramfunktion
RangeAvg() returnerar medelvärdet av ett intervall. Indata till funktionen kan vara antingen ett intervall med värden eller ett uttryck.
Syntax:
RangeAvg(first_expr[, Expression])
Returnerad datatyp: numeriska
Argument:
Argumenten hos denna funktion kan innehålla postöverskridande funktioner som i sig returnerar en lista över värden.
Argument | Beskrivning |
---|---|
first_expr | Det uttryck eller fält som innehåller de data som ska mätas. |
Expression | Valfria uttryck eller fält som innehåller de intervalldata som ska mätas. |
Begränsningar:
Om inget numeriskt värde påträffas returneras NULL.
Exempel och resultat:
Exempel | Resultat |
---|---|
RangeAvg (1,2,4) |
Returnerar 2,33333333 |
RangeAvg (1,'xyz') | Returnerar 1 |
RangeAvg (null( ), 'abc') | Returnerar NULL |
Exempel:
Lägg till exempelskriptet i appen och kör det. När du vill se resultatet lägger du till de fält som anges i resultatkolumnen i ett ark i din app.
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
];
Den resulterande tabellen visar de returnerade värdena för MyRangeAvg för varje post i tabellen.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |
Exempel med uttryck:
RangeAvg (Above(MyField),0,3))
Returnerar ett glidande genomsnitt för resultatet av intervallet av tre värden för MyField beräknat på den aktuella raden och de två raderna ovanför den aktuella raden. Om du anger det tredje argumentet som 3 returnerar Above()-funktionen tre värden, där det finns tillräckligt med rader ovanför, vilka används som indata för RangeAvg()-funktionen.
Data som används i exempel:
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
10 | 10 | Eftersom det här är den översta raden består intervallet endast av ett värde. |
2 | 6 | Det finns endast en rad ovanför den här raden, så intervallet är: 10,2. |
8 | 6.6666666667 | Motsvarande RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;