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:
Os argumentos dessa função podem conter funções interregistro, que por si só retornam um intervalo de valores.
Argumento | Descrição |
---|---|
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 e resultados:
Exemplos | Resultados |
---|---|
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:
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.
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 de MyRangeFrac para cada um dos registros na tabela.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |
Exemplo com a 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
] ;