8 Replies Latest reply: Apr 20, 2017 12:11 PM by MARIO SOARES RSS

    "desacumular" valores em script

    LEONARDO KODATO

      Boa noite a todos.

       

      Estou com a seguinte dificuldade em montar um script no Qlik Sense. Tenho 3 planilhas com o resultado acumulados mês-a-mês de produtos vendidos e gostaria de "desacumular" esses resultados, mostrando, assim, apenas o vendido daquele mês.

       

      Ex:
      [Resultado vendas janeiro]
      Mes|Produto|Quantidade Vendida acumulada
      Janeiro|Produto A|20
      Janeiro|Produto B|30

      Janeiro|Produto C|40


      OBS: vendemos 20un de A, 30 de B e 40 de C em Janeiro.

       

      [Resultado vendas fevereiro]
      Mes|Produto|Quantidade Vendida acumulada
      Fevereiro|Produto A|30
      Fevereiro|Produto B|45

      Fevereiro|Produto C|60


      OBS: vendemos 10un de A, 15 de B e 20 de C em Fevereiro.


      [Resultado vendas marco]
      Mes|Produto|Quantidade Vendida acumulada
      Março|Produto A|50
      Março|Produto B|75

      Março|Produto C|100


      OBS: vendemos 20un de A, 30 de B e 40 de C em Março.


      Alguém sabe me dizer como posso fazer isso?

      Meu intuito é mostrar, através de um gráfico de linhas, a variação de vendas mes-a-mes por produto.

       

      Muito obrigado pela atenção.

        • Re: "desacumular" valores em script
          Mário Rodrigo Campestrini

          Leonardo

           

          Se entendi bem a sua dúvida, basta manter o mesmo nome em todas as tabelas ou então utilize o comando Concatenate para juntar todas elas. Depois é só montar o gráfico de linhas com o mês e o produto como dimensões.

          • Re: "desacumular" valores em script
            mauro ponte

            leonardo,

             

            Voce tem como disponibilizar a planilha original para que eu possa tentar te ajudar? Voce usa o Qlikview ou Qlik Sense?

            • Re: "desacumular" valores em script
              LEONARDO KODATO

              Boa noite a todos.

               

              Obrigado pela atenção.

               

              Márcio, o concatenate irá juntar todas as tabelas sem problema. Porém o que eu preciso é a quantidade em cada mês, não a quantidade acumulada mês a mês.

               

              Mauro, uso o Qlik Sense. Coloquei o arquivo excel que eu estou utilizando para teste.

               

              O que eu quero é que o Qlik calcule a venda no mês especifico, e não na soma acumulada deles.

              No meu qlik sense está assim, porém não funciona, pois ele não reconhece o dado de uma outra tabela.

               

              [Vendas Jan]:

              LOAD [Produto],

                [Mês],

                [Quantidade vendida acumulada] as [Quantidade vendida janeiro]

              FROM [lib://D/exemplo_vendas_qlik.xlsx]

              (ooxml, embedded labels, table is [Vendas Jan]);

               

               

              [Vendas Fev]:

              LOAD [Produto],

                [Mês],

                [Quantidade vendida acumulada]-[Quantidade vendida janeiro] as [Quantidade vendida fevereiro]

              FROM [lib://D/exemplo_vendas_qlik.xlsx]

              (ooxml, embedded labels, table is [Vendas Fev]);

               

               

              [Vendas Mar]:

              LOAD [Produto],

                [Mês],

                [Quantidade vendida acumulada]-[Quantidade vendida jan]-[Quantidade vendida fevereiro] as [Quantidade vendida marco]

              FROM [lib://D/exemplo_vendas_qlik.xlsx]

              (ooxml, embedded labels, table is [Vendas Mar]);

               

              RENAME TABLE [Vendas Jan] TO [(Vendas Jan...)];

               

               

              Espero que tenha sido mais claro.

               

              Muito obrigado.

                • Re: "desacumular" valores em script
                  mauro ponte

                  Leonardo,

                   

                  Consegui o mesmo resultado que mário conseguiu com o script abaixo:

                   

                  Meses:

                  Mapping Load * inline [

                  Mês_Mapa,Numero

                  jan,01

                  fev,02

                  mar,03

                  abr,04

                  mai,05

                  jun,06

                  jul,07

                  ago,08

                  set,09

                  out,10

                  nov,11

                  dez,12

                  ];

                   

                   

                  [Vendas_TMP]:

                  LOAD [Produto],

                    [Mês],

                    [Quantidade vendida acumulada] as [Quantidade Acumulada]

                  FROM [lib://teste/exemplo_vendas_qlik.xlsx]

                  (ooxml, embedded labels, table is [Vendas Jan]);

                   

                   

                  Outer join(Vendas_TMP)

                   

                   

                  LOAD [Produto],

                    [Mês],

                    [Quantidade vendida acumulada] as [Quantidade Acumulada]

                  FROM [lib://teste/exemplo_vendas_qlik.xlsx]

                  (ooxml, embedded labels, table is [Vendas Fev]);

                   

                  outer join(Vendas_TMP)

                   

                   

                  LOAD [Produto],

                    [Mês],

                    [Quantidade vendida acumulada] as [Quantidade Acumulada]

                  FROM [lib://teste/exemplo_vendas_qlik.xlsx]

                  (ooxml, embedded labels, table is [Vendas Mar]);

                   

                   

                  Vendas_TMP2:

                  Load

                    [Produto],

                      [Mês],

                      date('01/'&ApplyMap('Meses',lower(Mês))&'/2017','DD/MM/YYYY')  as Data_Ref,

                      [Quantidade Acumulada]

                  resident Vendas_TMP;

                   

                   

                  drop table Vendas_TMP;

                   

                   

                  vendas:

                  Load

                    [Produto],

                      [Mês],

                      if(Mês='Jan',[Quantidade Acumulada],[Quantidade Acumulada]-Previous([Quantidade Acumulada])) as [Quantidade Vendida]

                    

                  resident Vendas_TMP2

                  order by Produto,Data_Ref;

                   

                  drop table Vendas_TMP2;

                   

                  Estou anexando o QVF de Exemplo.

                • Re: "desacumular" valores em script
                  MARIO SOARES

                  Amigo, segue;

                   

                  temp_Tab_Vendas:
                  LOAD
                      Produto,
                      Date#(Mês,'MMM') As 'Mês',
                      "Quantidade vendida acumulada"
                  FROM [lib://QVD_APOIO/exemplo_vendas_qlik.xlsx]
                  (ooxml, embedded labels, table is [Vendas Jan]);
                  LOAD
                      Produto,
                      Date#(Mês,'MMM') As 'Mês',
                      "Quantidade vendida acumulada"
                  FROM [lib://QVD_APOIO/exemplo_vendas_qlik.xlsx]
                  (ooxml, embedded labels, table is [Vendas Fev]);
                  LOAD
                      Produto,
                      Date#(Mês,'MMM') As 'Mês',
                      "Quantidade vendida acumulada"
                  FROM [lib://QVD_APOIO/exemplo_vendas_qlik.xlsx]
                  (ooxml, embedded labels, table is [Vendas Mar]);
                  
                  Tab_Vendas:
                  NoConcatenate Load
                      Produto,
                      Mês,  
                      If(Produto=Previous(Produto),
                        "Quantidade vendida acumulada"-Peek("Quantidade vendida acumulada"),
                        "Quantidade vendida acumulada"
                          ) As 'Valor Mês',
                      "Quantidade vendida acumulada"
                  Resident temp_Tab_Vendas
                  Order By Produto, Mês;
                  
                  Drop Table temp_Tab_Vendas;
                  
                  

                   

                  Resultado:

                  Capturar.JPG