RangeSum - スクリプトおよびチャート関数
RangeSum() は、数値の範囲の合計を返します。+ 演算子とは異なり、数値以外の値はすべて 0 として処理されます。
構文:
RangeSum(first_expr[, Expression])
戻り値データ型: 数値
引数:
この関数の引数式には、レコード間関数を含めることができます。これらの関数は、その内部で値リストを返します。
- first_expr: 合計の対象となるデータが含まれている数式または項目。
- Expression: 合計の対象となるデータ範囲が含まれているオプションの数式または項目。 複数の追加の数式を使用できます。
制限事項:
RangeSum 関数は、+ 演算子と違い、数値以外の値をすべて 0 として扱います。
例 | 結果 |
---|---|
RangeSum (1,2,4) |
7 を返します |
RangeSum (5,'abc') | 5 を返します |
RangeSum (null( )) |
0 を返します |
(数式を使用)
RangeSum (Above(MyField,0,3))
現在の行とその上の 2 つの行から MyField) 関数の 3 つの値の合計が返されます。3 番目の引数に 3 を指定すると、Above() 関数は、上に十分な行のある場所に 3 つの値を返し、RangeSum() 関数への入力として取得されます。
MyField | RangeSum(Above(MyField,0,3)) |
---|---|
10 | 10 |
2 |
12 |
8 | 20 |
18 | 28 |
5 | 31 |
9 | 32 |
例で使用されているデータ:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
(テーブル形式)
ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。
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
];
結果テーブルには、テーブルの各レコードに対する MyRangeSum の戻り値が表示されます。
RangeID | MyRangeSum |
---|---|
1 | 21 |
2 | 12 |
3 | 18 |
4 | 38 |
5 | 19 |
6 | 15 |