RangeFractile – função de script e gráfico
RangeFractile() retorna o valor que corresponde ao enésimo fractile (quantil) de um intervalo de números.
Sintaxe:
RangeFractile(fractile, first_expr[, Expression])
Tipo de dados de retorno: numérico
Argumentos:
O argumento dessa função pode conter funções inter-registro, o que por si só retorna uma lista de valores.
- fractile: Um número entre 0 e 1 correspondente ao fractil (quantil expressado como uma fração) que será calculado.
- 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.
Exemplos:
Exemplo | Resultado |
---|---|
RangeFractile (0.24,1,2,4,6) | Retorna 1,72 |
RangeFractile(0.5,1,2,3,4,6) |
Retorna 3 |
RangeFractile (0.5,1,2,5,6) |
Retorna 3,5 |
Exemplo: (usando expressão)
RangeFractile (0.5, Above(Sum(MyField),0,3))
Neste exemplo, a função inter-registro Above() contém o opcional offset e count argumentos. Isso produz uma variedade de resultados que podem ser usados como entrada em qualquer uma das variações de funções. Neste caso, Above(Sum(MyField),0,3) retorna os valores de MyField para a linha atual e as duas linhas acima. Esses valores fornecem entrada para a função RangeFractile(). Então, para a linha inferior na tabela abaixo, isso é o equivalente a RangeFractile(0.5, 3,4,6), ou seja, calcular a fração 0,5 para a série 3, 4 e 6. As duas primeiras filas na tabela abaixo, o número de valores na variação é reduzido de acordo, onde não existem linhas acima da linha atual. Resultados semelhantes são produzidos para outras funções inter-registro.
MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
---|---|
1 | 1 |
2 | 1.5 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
Dados usados nos exemplos:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;
Exemplo: (em formato de tabela)
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.
RangeTab:
LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac 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 deMyRangeFrac para cada registro na tabela.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |