Ir para conteúdo principal Pular para conteúdo complementar

RangeSum – função de script e gráfico

O RangeSum() retorna a soma de um intervalo de valores. Todos os valores não numéricos são tratados como 0.

Sintaxe:  

RangeSum(first_expr[, Expression])

Tipo de dados de retorno: numérico

Argumentos:  

Os argumentos dessa função podem conter funções interregistro, que por si só retornam um intervalo de valores.

Argumentos
ArgumentoDescrição
first_exprA expressão ou campo que contém os dados a serem medidos.
ExpressionExpressões ou campos opcionais que contêm o intervalo de dados a ser medido.

Limitações:  

A função RangeSum trata todos os valores não numéricos como 0.

Exemplos e resultados:  

Exemplos
Exemplos Resultados
RangeSum (1,2,4)

Retorna 7

RangeSum (5,'abc') Retorna 5
RangeSum (null( ))

Retorna 0

Exemplo:  

Adicione o script de exemplo ao seu aplicativo e execute-o. Para ver o resultado, adicione os campos listados na coluna de resultados a uma pasta no seu aplicativo.

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

];

A tabela resultante mostra os valores retornados de MyRangeSum para cada um dos registros na tabela.

Tabela resultante
RangeIDMyRangeSum
121
212
318
438
519
615

Exemplo com a expressão:

RangeSum (Above(MyField,0,3))

Retorna a soma de três valores de MyField): na linha atual e duas linhas acima da atual. Ao especificar o terceiro argumento como 3, a função Above() retorna três valores, em que há linhas suficientes acima, que são tomadas como entrada na função RangeSum().

Dados usados nos exemplos:

Nota de dicaDesative a classificação de MyField para garantir que o exemplo funcione como esperado.
Dados de exemplo
MyField RangeSum(Above(MyField,0,3))
10 10

2

12
820
1828
531
932

Dados usados nos exemplos:

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!