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:  

O argumento dessa função pode conter funções inter-registro, o que por si só retorna uma lista de valores.

Argumento Descrição
first_expr Expressão ou campo que contém os dados cuja média será calculada.
Expression Expressões ou campos opcionais que contém os dados adicionais cuja média será calculada. Várias expressões adicionais podem ser usadas.

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 documento e execute-o. Em seguida, adicione pelo menos os campos listados na coluna de resultados a um documento 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 deMyRangeAvg para cada registro 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, 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

] ;