RangeSum - función de script y de gráfico
RangeSum() devuelve la suma de un rango de valores. Todos los valores no numéricos se tratan como 0, a diferencia del operador +.
Sintaxis:
RangeSum(first_expr[, Expression])
Tipo de datos que devuelve: numérico
Argumentos:
El argumento de esta función pueden contener funciones inter-registro, las cuales devuelven un rango de valores por sí mismas.
- first_expr: La expresión o campo que contiene los datos que se han de sumar.
- Expression: Las expresiones o campos opcionales que contienen el rango de datos que se ha de sumar. Se pueden utilizar múltiples expresiones adicionales.
Limitaciones:
La función RangeSum trata todos los valores no numéricos como 0, a diferencia del operador +.
Ejemplos:
Ejemplo | Resultado |
---|---|
RangeSum (1,2,4) |
Devuelve 7 |
RangeSum (5,'abc') | Devuelve 5 |
RangeSum (null( )) |
Devuelve 0 |
Ejemplo: (usando expresión)
RangeSum (Above(MyField,0,3))
Devuelve la suma de los tres valores de MyField): desde la fila actual y dos filas por encima de la fila actual. Especificando el tercer argumento como 3, la función Above() devuelve tres valores, en los que hay suficientes filas por encima, las cuales se toman como entrada para la función RangeSum().
MyField | RangeSum(Above(MyField,0,3)) |
---|---|
10 | 10 |
2 |
12 |
8 | 20 |
18 | 28 |
5 | 31 |
9 | 32 |
Datos utilizados en los ejemplos:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Ejemplo: (en forma de tabla)
Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.
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
];
La tabla resultante muestra los valores devueltos de MyRangeSum para cada uno de los registros de la tabla.
RangeID | MyRangeSum |
---|---|
1 | 21 |
2 | 12 |
3 | 18 |
4 | 38 |
5 | 19 |
6 | 15 |