Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados amigos da Comunidade Qlik,
Preciso configurar uma consulta que me mostre a quantidade total de notas fiscais emitidas nos últimos três meses para um representante selecionado em um painel de filtro.
Todos os dados que eu preciso estão em uma única tabela.
Agradeço antecipadamente se alguém puder me ajudar.
André Cavalcante
Andre,
Siga os seguintes passos:
1- Crie uma variavel com o nome vSetNMesesAntes e defina o seguinte conteúdo para ela:
$1={"$(=year(addmonths(date('01/'&num(max(($2)),'00')&'/'&max(($1)),'DD/MM/YYYY'),-($4))))"},$2={"$(=num(Month(addmonths(date('01/'&num(max(($2)),'00')&'/'&max(($1)),'DD/MM/YYYY'),-($4))),'##'))"},$3=
2-Na expressão desejada defina a variavel no Set Analisys passando os parametros de acordo com sua necessidade como nos exemplos abaixo.
$1=Campo de Ano utilizado no filtro
$2=Campo Com valor Numerido do campo Mês utilizado no filtro.
$3=Campo de Mês utilizado no Filtro
$4=Numero de meses que deseja retroagir.
Exemplos: Marcando-se ano=2017 e Mês=Maço
1-sum({<$(vSetNMesesAntes(Ano,[Mês_Numerico],Mês,1))>}[Valor]) - Soma o campo valor retroagindo 1 mês, isso é Soma o mês de fevereiro de 2017.
2-sum({<$(vSetNMesesAntes(Ano,[Mês_Numerico],Mês,3))>}[Valor]) Soma o campo valor retroagindo 3 meses, isso é Soma o mês de dezembro de 2016.
Com a mesma expressão da variável voce pode selecionar meses diferentes baseados no maior ano e maior mes da seleção atual.
Espero ter ajudado. Caso ainda tenha dúvidas ou se a sugestão nao atender a sua necessidade estou a disposição.
André,
Se voce deseja os ultimos 3 meses tendo em vista sempre a data de hoje tente o seguinte:
count({<Campo_Data_de_Referencia={">=$(=Today()-90)"}> Campo_Identicicador_NF}
Nesse caso será feita a contagem dos ultimos 90 dias, independente do dia do mês, o que pode fazer com que sejam selecionadas vendas de até 4 meses. O periodo não é dinamico, será semrpe feita a conta dos ultimos 90 dias baseado na data do dia atual.
Porem existem maneiras de tornar este filtro de data dinamico, dependendo de como está seu modelo de dados.
Por exemplo a seleção dos ultimos 3 meses poderia ser feita de acordo com o mês e ano selecionado. Nesse caso se voce selecionar o ano de 2017 e o mes de março a seleção das vendas seria dos meses jan, fev e mar de 2017. Caso selecione fev de 2017 a seleção das vendas seria dez de 2016 mais jan e fev de 2017. Nesse exemplo a expressão acima já nao traria o resultado desejado.
Nesse caso precisaria saber mais da sua modelagem para te orientar melhor.
Voce utiliza Qlik Sense? Se utilizar de uma analisada no QVF que estou anexando. Ele contem um biblioteca com expressões com set analisys que contemplam e tratam varias situações referentes a seleção de periodos. Talves possa te ajudar.
Espero ter ajudado e estou a disposição para ajudar dentro de meus conhecimentos.
Mauro,
Vou fazer os testes e retorno com o resultado.
Mais uma vez agradeço pelo pronto atendimento.
Abraço,
André Cavalcante
Mauro,
Antecipadamente agradeço.
Esta consulta que você me passou me atende parcialmente.
Eu uso sim um painel de filtro com os dados abaixo:
1- Representante
2 - Ano
3 - Mês
Eu busco montar a consulta exatamente como você mencionou acima. Ou seja, se escolher o representante X, para o ano 2017 e o mês abril, ele me retorna janeiro, fevereiro e março, considerando sempre a data de referência como o último dia do mês de março.
Eu abri o seu QVF mas não consegui adaptar nenhuma das possibilidades que estão lá.
Poderia me ajudar ?
André Cavalcante
Andre,
Siga os seguintes passos:
1- Crie uma variavel com o nome vSetNMesesAntes e defina o seguinte conteúdo para ela:
$1={"$(=year(addmonths(date('01/'&num(max(($2)),'00')&'/'&max(($1)),'DD/MM/YYYY'),-($4))))"},$2={"$(=num(Month(addmonths(date('01/'&num(max(($2)),'00')&'/'&max(($1)),'DD/MM/YYYY'),-($4))),'##'))"},$3=
2-Na expressão desejada defina a variavel no Set Analisys passando os parametros de acordo com sua necessidade como nos exemplos abaixo.
$1=Campo de Ano utilizado no filtro
$2=Campo Com valor Numerido do campo Mês utilizado no filtro.
$3=Campo de Mês utilizado no Filtro
$4=Numero de meses que deseja retroagir.
Exemplos: Marcando-se ano=2017 e Mês=Maço
1-sum({<$(vSetNMesesAntes(Ano,[Mês_Numerico],Mês,1))>}[Valor]) - Soma o campo valor retroagindo 1 mês, isso é Soma o mês de fevereiro de 2017.
2-sum({<$(vSetNMesesAntes(Ano,[Mês_Numerico],Mês,3))>}[Valor]) Soma o campo valor retroagindo 3 meses, isso é Soma o mês de dezembro de 2016.
Com a mesma expressão da variável voce pode selecionar meses diferentes baseados no maior ano e maior mes da seleção atual.
Espero ter ajudado. Caso ainda tenha dúvidas ou se a sugestão nao atender a sua necessidade estou a disposição.
Mauro,
Muito obrigado.
Está resolvido.
Um abraço !
Obrigado !
Andre,
Fico feliz por ter ajudado.
Você poderia marar a resposta como correta?
Amigo,
Se o nosso amigo Mauro conseguiu te responder, recomendo marcar a resposta dele como correta, no intuito de manter a comunidade organizado, ou como Útil;
Acredito que estará praticando meritocracia;
Grande abraço e sucesso.
Mauro,
Farei assim que achar onde marca como resposta correta.
André Cavalcante
Mário,
Sou adepto da meritocracia, da responsabilidade, do agradecimento, da retribuição e do respeito.
Não sei se você percebeu, mas sou novo na comunidade e ainda estou aprendendo.
A resposta já foi marcada como útil.
Registrarei como resposta correta assim que achar onde marca como resposta correta.
André Cavalcante