Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 😃
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)
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)
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.
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.