Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 ]
?????
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
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.
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])
É 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?
O que vai estar em sua barra empilhada e o que vai estar na linha?
O eixo x será a data?
Yuri,
o eixo será formado pela data,, barra formada por valor e linha qtd.
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
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