Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
pedromsouza
Creator II

Dúvida "Nested aggregation not allowed"

sum(MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))

 

Prezados,

Esta expressão está funcionando. Calcula MEDIA_TRIENIO da linha pelo melhor quartil do grupo DESC_TIPO_UNIDADE.

A questão é que eu quero também calcular a média resultante deste cálculo por grupo. 

Tentei:

avg(total <DESC_TIPO_UNIDADE>
sum(MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))
)

Dá nested aggregation not allowed.

Também tentei:

avg(aggr(
sum(MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))
,DESC_TIPO_UNIDADE))


Desta forma retorna, mas valor incorreto. 

Qliking since '09
1 Solution

Accepted Solutions
pedromsouza
Creator II
Author

Gerou um número que eu nem consegui entender a lógica rsrs

Montei de um jeito que parece que funcionou. Estou validando direitinho...

sum(Total <DESC_TIPO_UNIDADE> MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))
/Count(TOTAL <DESC_TIPO_UNIDADE> DESC_LOTACAO)

Qliking since '09

View solution in original post

4 Replies
TiagoCardoso
Creator II

Boa tarde,

 

SUM, AVG, MIN, MAX, entre outras são funções de agregação, porando você não pode utilizá-las desta maneira.

 

Como você quer fazer uma média de uma soma e tal, aconselho vc substituir o AVG pelo RangeAVG e creio que te ajudará.

 

Ou seja, RANGEAVG( SUM(Sua expressão))

pedromsouza
Creator II
Author

Prezado,

O RANGEAVG funciona, mas não consegui agrupar por desc_tipo_unidade.

Seria a média daquela expressão por grupo desta coluna. 

Qliking since '09
TiagoCardoso
Creator II

Boa noite.

 

Uma boa maneira de se chegar no resultado, seria você criar uma tabela simples e colocar essa expressão:

sum(MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))

Daí coloca o totalizador de expressão como SUM e vê se dá o mesmo resultado que nem estava dando antes, e depois muda esse totalizador para média, para saber qual valor ele apresenta.

A partir daí você pode pegar essa expressão abaixo e tentar colocar o TOTAL nela

avg(TOTAL aggr(
sum(MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))
,DESC_TIPO_UNIDADE))
pedromsouza
Creator II
Author

Gerou um número que eu nem consegui entender a lógica rsrs

Montei de um jeito que parece que funcionou. Estou validando direitinho...

sum(Total <DESC_TIPO_UNIDADE> MEDIA_TRIENIO)/Sum(Total <DESC_TIPO_UNIDADE> Aggr(Fractile(IPS, 0.75),DESC_TIPO_UNIDADE))
/Count(TOTAL <DESC_TIPO_UNIDADE> DESC_LOTACAO)

Qliking since '09