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

RangeAvg() retorna a média de um intervalo. A entrada para a função pode ser um intervalo de valores ou uma expressão.

Syntax:  

RangeAvg(first_expr[, Expression])

Return data type: numérico

Arguments:  

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

Argumento Descrição
first_expr A expressão ou campo que contém os dados a serem medidos.
Expression Expressões ou campos opcionais que contêm o intervalo de dados a ser medido.

Limitations:  

Se não for encontrado nenhum valor numérico, será retornado NULL.

Examples and results:  

Exemplos Resultados
RangeAvg (1,2,4)

Retorna 2,33333333

RangeAvg (1,'xyz') Retorna 1
RangeAvg (null( ), 'abc') Retorna NULL

Adicione o script de exemplo ao seu aplicativo e execute-o. Em seguida, adicione pelo menos os campos listados na coluna de resultados a uma pasta para ver o resultado.

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

];

A tabela resultante mostra os valores retornados de MyRangeAvg para cada um dos registros na tabela.
RangeID MyRangeAvg
1 7
2 4
3 6
4 12.666
5 6.333
6 5

Exemplo com a expressão:

RangeAvg (Above(MyField),0,3))

Retorna uma média variável do resultado do intervalo dos três valores de MyField calculado na linha atual e nas 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 RangeAvg().

Dados usados nos exemplos:

Dica: Desative a classificação de MyField para garantir que o exemplo funcione como esperado.
MyField RangeAvg (Above(MyField,0,3))  
10 10 Com esta é a linha do topo, o intervalo consiste em apenas um valor.
2 6 Há apenas uma linha acima desta linha e, portanto, o intervalo é: 10,2.
8 6.6666666667 O equivalente a RangeAvg(10,2,8)
18 9.333333333  
5 10. 333333333  
9 10.6666666667  

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;