Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

set analysis - Acumular Valor

Olá Pessoal,

Estou montando um gráfico com a funcionalidade de set analysis que faz o seguinte:

- Ao selecionar uma data, por exemplo dia 20/10/2014, são gerados dois indicadores:

  a) quantidade de valores  do dia 20/10/2014 até o último dia do mês.

  b) quantidade de valores acumulados até  dia 19/10/2014.

Ou seja, o gráfico vai mostrar no eixo as informações referentes ao indicador A do dia 20,21,22  até o dia 31. Porém, o mesmo gráfico deverá mostrar os valores referentes ao indicador B acumulados no dia 19.  Sendo assim, se para o dia 18, 17 e 16 existir informação para o indicador B, as mesmas serão consolidadas no dia 19.

Dúvida, como fazer isso com set analysis, o indicador A eu já matei, o problema é o B.

[ Indicador A ]

sum( {$<[DATA] = {'>=$(=[DATA])<=$(=DATA)))'}>} [Valor])


[ Indicador B ]

?????

8 Replies
pauloandre
Creator II
Creator II

Filipe,

Cria uma variavel com a informação do ultimo dia do mês 'date(monthend(data))' e variável da data selecionada e utiliza essas variáveis na expressão

sum({<Data={'>=$(vDataSelec)<=$(vFimMes)'}>} Valor)

Espero ter ajudado

Not applicable
Author

Paulo,

Dúvida??? Caso, eu coloque o campo data no eixo do grafico e selecione o dia 20/10/2014, a função encaminhada conseguiria atender as regras supracitadas em relação ao [ Indicador B ].


O gráfico vai mostrar no eixo as informações referentes ao indicador A do dia 20,21,22  até o dia 31. Porém, o mesmo gráfico deverá mostrar os valores referentes ao indicador B acumulados no dia 19.  Sendo assim, os valores anteriores a data selecionada serão consolidados totalmente no dia anterior.


Exemplo: O eixo do grafico será o campo data. Seleção 20/10/2014


Indicador A - Mostrar o valor dia a dia até o último dia do mês

                    20,21,22...31

Indicaro B - Mostrar todos os valores consolidados no dia anterior ao valor selecionado.

                    Por exemplo, dias 16,17,18 e 19 terão seus valores consolidados no dia 19/10.


pauloandre
Creator II
Creator II

Filipe,

Já estive nessa 'sinuca de bico', a solução foi colocar a seleção de data separado por Ano, Mês e Dia e não pela data, colocando o campo de Dia como dimensão. Com isso faça a expressão da seguinte forma:

sum({<Ano=, Mes=, Dia=, Data={'>=$(vDataSelec)<=$(vFimMes)'}>} Valor)


e para a sua ficará dessa forma

sum( {$<Ano=, Mes=, Dia=,[DATA] = {'>=$(=[DATA])<=$(=DATA)))'}>} [Valor])

Not applicable
Author

É galera,

a saga continua... Estou precisando criar um gráfico, onde o usuário vai selecionar uma data e, a partir dessa data, deverá ser mostrado, em gráfico de barras empilhados, com linhas, a quantidade e os valores dos pagamentos suspensos, pagamentos em atraso, pagamento previsto para a data escolhida e para cada dia subsequente até o limite de 30 dias, sendo que a última informação é o valor a pagar após o ultimo dia do mês. É possível criar uma gráfico nesses moldes?

nicolett_yuri

O que vai estar em sua barra empilhada e o que vai estar na linha?

O eixo x será a data?

Not applicable
Author

Yuri,

o eixo será formado pela data,, barra formada por valor e linha qtd.

nicolett_yuri

Filipe, fazer isso por set analysis vai ser bastante custoso para o qvs realizar os cálculos, até acho possível, mas te oriento a utilizar outro método: De/Para de datas.

Esse método consiste em criar uma tabela conforme modelo abaixo:

//No meu exemplo vou fazer a data selecionada pegar somente os 4 próximos dias.

Data_De, Data_Para

16/12/2014, 16/12/2014

16/12/2014, 17/12/2014

16/12/2014, 18/12/2014

16/12/2014, 19/12/2014

16/12/2014, 20/12/2014

17/12/2014, 17/12/2014

17/12/2014, 18/12/2014

17/12/2014, 19/12/2014

17/12/2014, 20/12/2014

17/12/2014, 21/12/2014

Essa tabela você deve ligar com a sua tabela fato através da coluna Data_Para. A coluna Data_De será a coluna de filtro do usuário, desta forma, se filtrar 16/12/2014, seu gráfico retornará os dados dos dias 16,17,18,19 e 20.

Desta forma os cálculos ficarão MUITO mais simples.

Claro que você pode criar uma função para gerar esse relatório automaticamente, pois no seu caso são 30 dias a frente. Dicas para criar esse calendário: verifique as funções FOR e também "While Iterno".

Qualquer dúvida fico à disposição

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik