Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde.
Estou com uma demanda que envolvem valores financeiros e da forma como desenvolvi, o usuário é obrigado a selecionar os meses do ano para ver os índices, porém, para alguns dos índices, preciso pegar a quantidade de dias do mês e através dele fazer cálculos. A dificuldade surge no momento em que o usuário seleciona mais de um mês, onde minha aplicação deve "somar" o número total de dias de cada mês.
É possível armazenar "vários" valores em uma variável e depois realizar cálculos com estes valores?
Ou de repente exista algum comando no QlikView que facilite este processo e que eu desconheça?
Agradeço a atenção de todos.
Atenciosamente.
Bom dia Amigos.
Gostaria de agradecer a ajuda de vocês, mas acabei fazendo uma junção das ideias do Egnaldo e do Felipe e adequei conforme a minha necessidade.
Através da sua ideia Felipe, pelo fato de existirem muitos registros com as "DataMovimento", ao fazer o Sum, ele trazia um valor irreal, o que de fato não resolveria meu problema. Para sanar meu problema, acabei criando uma variável com a seguinte expressão:
=Round(MonthEnd(MAX(DataMovimento)) - Date(Min({$<Mes={'jan'}>}DataMovimento)))
Desta forma eu consigo pegar o total de dias decorridos durante o ano, dependendo do mês que eu selecione, o que era a ideia original, mas que eu não soube expressar na pergunta que fiz no post.
Agradeço imensamente a ajuda de vocês.
Abraços.
Roberto Guilherme Gomes
Para armazenar um valor em uma variável e utilizar em um objeto, vc pode trabalhar da seguinte forma:
Crie uma variável >>> vContarMes
Dentro dela digite sua formula, exemplo >>> Count(Distinct ColunaMes)
Em um objeto de Texto vc chama a variável >>> =$(vContarMes)
O resultado será apresentado.
Agora preciso entender melhor sua necessidade para tentarmos chegar em um resultado.
Boa tarde Roberto,
Poderia passar o modelo de seus dados para eu entender melhor a sua necessidade.
Att,
João Carlos Ferreira.
Pessoal,
Segue uma simulação do que preciso.
Preciso que a quantidade de dias de cada mês seja acumulada de acordo com os meses que o usuário selecionar.
Obrigado!
Atenciosamente.
Obrigado Egnaldo, mas somente isto não resolveria meu problema.
Anexei uma aplicação simulando o problema. Acredito que fique mais fácil de entender a minha dificuldade.
Obrigado amigo.
Não sei se isso ajuda mas é uma possibilidade.
Roberto,
Você pode usar a seguinte expressão:
Sum(Aggr(Round(MonthEnd(Min(DataMovimento))-MonthStart(Min(DataMovimento))), Ano, Mes))
Mas sugiro que você faça esse cálculo no script para não afetar o desempenho de sua aplicação.
Na leitura da tabela Balancete adicione o a linha a seguir:
MonthName(DataMovimento) as MesAno
e após a leitura da tabela balancete, adicione o seguinte código:
QtdeDias:
LOAD Distinct
MesAno,
Round(MonthEnd(MakeDate(Ano, Mes))-MonthStart(MakeDate(Ano, Mes))) as QtdeDiasMes
Resident Balancete;
Assim, no layout você poderá usar uma soma simples para chegar à quantidade de dias dos meses selecionados:
Sum(QtdeDiasMes)
Abs,
Felipe
Bom dia Amigos.
Gostaria de agradecer a ajuda de vocês, mas acabei fazendo uma junção das ideias do Egnaldo e do Felipe e adequei conforme a minha necessidade.
Através da sua ideia Felipe, pelo fato de existirem muitos registros com as "DataMovimento", ao fazer o Sum, ele trazia um valor irreal, o que de fato não resolveria meu problema. Para sanar meu problema, acabei criando uma variável com a seguinte expressão:
=Round(MonthEnd(MAX(DataMovimento)) - Date(Min({$<Mes={'jan'}>}DataMovimento)))
Desta forma eu consigo pegar o total de dias decorridos durante o ano, dependendo do mês que eu selecione, o que era a ideia original, mas que eu não soube expressar na pergunta que fiz no post.
Agradeço imensamente a ajuda de vocês.
Abraços.
Roberto Guilherme Gomes