- Categorias:
Funções de agregação (General) , Sintaxe e uso da função de janela
KURTOSIS¶
Retorna a curtose em excesso populacional de registros não NULL. Se todos os registros dentro de um grupo forem NULL, a função retorna NULL.
A seguinte fórmula é usada para calcular o excesso de curtose da população:
onde:
\(n\) denota o número de registros diferentes de zero.
\(m_4\) denota o quarto momento central da amostra.
\(k_2\) denota o estimador simétrico imparcial da variância.
Sintaxe¶
Função de agregação
KURTOSIS( <expr> )
Função de janela
KURTOSIS( <expr> ) OVER ( [ PARTITION BY <expr2> ] )
Argumentos¶
expr
Esta é uma expressão que é avaliada como um tipo de dados numérico (INTEGER, FLOAT, DECIMAL etc.).
expr2
A expressão que define os grupos ou janelas individuais.
Retornos¶
Retorna DOUBLE se o tipo de dados de entrada for DOUBLE/FLOAT.
Retorna DECIMAL se o tipo de dados de entrada for outro tipo de dados numéricos.
Notas de uso¶
Para entradas com menos de quatro registros, KURTOSIS retorna NULL.
Quando esta função é chamada como uma função de janela, ela não oferece suporte para:
Uma cláusula ORDER BY dentro da cláusula OVER.
Quadros de janela explícitos.
Exemplos¶
Criar uma tabela e carregar os dados:
create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); insert into aggr values (1, 10, null), (2, 10, 12), (2, 20, 22), (2, 25, null), (2, 30, 35);
Exibir os dados:
select * from aggr order by k, v; +---+-------+-------+ | K | V | V2 | |---+-------+-------| | 1 | 10.00 | NULL | | 2 | 10.00 | 12.00 | | 2 | 20.00 | 22.00 | | 2 | 25.00 | NULL | | 2 | 30.00 | 35.00 | +---+-------+-------+
Consultar os dados:
select KURTOSIS(K), KURTOSIS(V), KURTOSIS(V2) from aggr; +----------------+-----------------+--------------+ | KURTOSIS(K) | KURTOSIS(V) | KURTOSIS(V2) | |----------------+-----------------+--------------| | 5.000000000000 | -2.324218750000 | NULL | +----------------+-----------------+--------------+