Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
leo_jurado
Contributor II
Contributor II

Local adequado do AGGR

Pessoal, bom dia!

Estou quebrando a cabeça tentando encaixar o AGGR juntamente ao Set Analysis definindo um ano. O objetivo final é o crescimento em %, não estou conseguindo encaixar o AGGR para ele aplicar o cálculo ano a ano. Segue o código:

(sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}, Ano={'$(=Max(Ano))'} >} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}, Ano={'$(=Max(Ano))'} >} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'}, Ano={'$(=Max(Ano))'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'}, Ano={'$(=Max(Ano))'} >} VlrST )
), '#.##0')))
/
(sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}, Ano={'$(=Max(Ano)-1)'} >} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}, Ano={'$(=Max(Ano)-1)'} >} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'}, Ano={'$(=Max(Ano)-1)'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'}, Ano={'$(=Max(Ano)-1)'} >} VlrST )
), '#.##0')))-1

Deste jeito, ele retorna o resultado apenas no ano de 2019, o que é lógico com base no código. No entanto, aplicando o AGGR ele ou não retorna nada ou "ignora" e continua trazendo sobre o ano de 2019.

ANO DA TABELA:
2018
2019
2020

Como ficaria o código para o resultado ser aplicado em todos os anos da tabela? Tentei utilizar o AGGR de infinitas formas.

Desde já, muito obrigado 😃

1 Solution

Accepted Solutions
RafaMartins
Creator II
Creator II

Bom dia, se está querendo exibir isto em uma tabela onde a dimensão seja o ano, você pode usar a função above, essa função fara o calculo do valor do máximo da dimensão pelo valor anterior a ele.

(sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}>} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}>} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'} >} VlrST )
), '#.##0'))

/

Above((sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}>} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}>} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'} >} VlrST )
), '#.##0')),1)

View solution in original post

3 Replies
RafaMartins
Creator II
Creator II

Bom dia, se está querendo exibir isto em uma tabela onde a dimensão seja o ano, você pode usar a função above, essa função fara o calculo do valor do máximo da dimensão pelo valor anterior a ele.

(sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}>} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}>} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'} >} VlrST )
), '#.##0'))

/

Above((sum(USU_VLRPARC01)
/
(
Num(sum({<TKT_TIPO={'Venda'}>} VlrFaturadoLiquido )
-fabs(sum({<TKT_TIPO={'Devolucao'}>} TKT_VLR_MERCADORIA_VENDA )
-sum({<TKT_TIPO={'Venda'} >} VlrST )
+sum({<TKT_TIPO={'Devolucao'} >} VlrST )
), '#.##0')),1)

leo_jurado
Contributor II
Contributor II
Author

Sensacional!

Eu a usei uma vez e não me lembrava, olha que fiquei um bocado de tempo em! Rsrsrs. Muitíssimo obrigado!!

Ainda fico um pouco intrigado quanto a utilização do AGGR neste caso, só pra aprendizado mesmo, saber se encaixaria ou não.

RafaMartins
Creator II
Creator II

Pelo que entendo, a função aggr cria uma tabela in memory, ou seja ela ira pega os dados que estão sendo usados na expressão e criar uma tabela virtual, como as tabelas do seu modelo de dados.

Não sei como ela poderia ser aplicada nesse caso pois nunca a utilizei de tal forma.