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

Announcements
Posting on Qlik Community is temporarily paused. Thank you for patience and we'll update you soon!
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
Partner Ambassador/MVP
Partner Ambassador/MVP

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
Partner Ambassador/MVP
Partner Ambassador/MVP

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
Support
Support

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