RangeSum - skript- och diagramfunktion
RangeSum() returnerar summan av ett intervall med värden. Alla icke-numeriska värden behandlas som 0, till skillnad från +-operatorn.
Syntax:
RangeSum(first_expr[, Expression])
Returnerad datatyp: numeriska
Argument:
Argumentet hos denna funktion kan innehålla postöverskridande funktioner som i sig själva returnerar ett intervall av värden.
- first_expr: Det uttryck eller fält som innehåller de data som ska läggas ihop.
- Expression: Valfria uttryck eller fält som innehåller de intervalldata som ska läggas ihop. Flera ytterligare uttryck kan användas.
Begränsningar:
RangeSum-funktionen behandlar alla icke-numeriska värden som 0, till skillnad från +-operatorn.
Exempel:
Exempel | Resultat |
---|---|
RangeSum (1,2,4) |
Returnerar 7 |
RangeSum (5,'abc') | Returnerar 5 |
RangeSum (null( )) |
Returnerar 0 |
Exempel: (uttryck används)
RangeSum (Above(MyField,0,3))
Returnerar summan av de tre värdena för MyField): från 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 RangeSum()-funktionen.
MyField | RangeSum(Above(MyField,0,3)) |
---|---|
10 | 10 |
2 |
12 |
8 | 20 |
18 | 28 |
5 | 31 |
9 | 32 |
Data som används i exempel:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Exempel: (som tabell)
Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.
RangeTab3:
LOAD recno() as RangeID, Rangesum(Field1,Field2,Field3) as MyRangeSum 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 MyRangeSum för varje post i tabellen.
RangeID | MyRangeSum |
---|---|
1 | 21 |
2 | 12 |
3 | 18 |
4 | 38 |
5 | 19 |
6 | 15 |