Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
andrevsc
Contributor II
Contributor II

Quantidade Total de Notas Fiscais Emitidas nos Últimos Três Meses para Representante Selecionado

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

Labels (1)
1 Solution

Accepted Solutions
mauroponte
Creator II
Creator II

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.

View solution in original post

12 Replies
mauroponte
Creator II
Creator II

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.

andrevsc
Contributor II
Contributor II
Author

Mauro,

Vou fazer os testes e retorno com o resultado.

Mais uma vez agradeço pelo pronto atendimento.

Abraço,

André Cavalcante

andrevsc
Contributor II
Contributor II
Author

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

mauroponte
Creator II
Creator II

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.

andrevsc
Contributor II
Contributor II
Author

Mauro,

Muito obrigado.

Está resolvido.

Um abraço !

Obrigado !

mauroponte
Creator II
Creator II

Andre,

Fico feliz por ter ajudado.

Você poderia marar a resposta como correta?

mario_sergio_ti
Partner - Specialist
Partner - Specialist

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.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
andrevsc
Contributor II
Contributor II
Author

Mauro,

Farei assim que achar onde marca como resposta correta.

André Cavalcante

andrevsc
Contributor II
Contributor II
Author

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