1 Reply Latest reply: Jun 21, 2018 3:19 PM by Luis Felipe Tensini RSS

    Função Soma retornando valor errado

    Mariana Anjos

      Pessoal boa tarde,

       

      Tenho em um script os valores de demanda de determinadas produtos em determinado mês/ano.

      Eu gostaria de trazer a quantidade de produtos demandados para o agrupamento: Produto-Mes-Ano.

       

      A situação é que, eu tenho um código para cada pedido, e podem existir mais de um pedido com diferentes quantidades no mesmo mês, por exemplo (para o mesmo produto):

       

      Código do Pedido (COLineConcat)        Quantidade               Mês/Ano  

                          X                                             2                     04-2018

                          Y                                            4                     04-2018

       

      Nesse caso, a quantidade total agrupada por Produto+Mes+Ano é 6. (Segue exemplo correto):

      correto.png

       

      Sendo assim, criei uma chave Concatenada PN+Mes+Ano, onde em outra tabela eu faço a carga do concatenado e somo a quantidade demandada agrupada pelo próprio concatenado, dessa maneira:

       

      Soma:
      LOAD
      [Concatenado PN Mes Ano],
      Sum([Co Qty]) as Soma
      resident Prototipo
      group by [Concatenado PN Mes Ano];
      

       

      Para alguns casos, o valor trazido está correto, porém para alguns outros, o valor não bate, por exemplo:

       

      errado.png

       

      Já tentei de tudo mas não consigo encontrar onde está o problema... Alguém pode por gentileza me ajudar? Segue anexo o qvw.

       

      Obrigada desde já!

        • Re: Função Soma retornando valor errado
          Luis Felipe Tensini

          Olá Mariana.

           

          Tente simplificar um pouco as coisas. Experimente este código logo após o load da sua tabela Protótipo:

           

          ...

          ...

          ...

          FROM

          [\\sjkfs05\vss\GMT\08. QLIKVIEW\Databases\DB_OffTheShelf.qvd]

          (qvd)

          where [Dist Channel] = 30;

           

           

          // Só para manter uma única tabela no modelo de dados

          RENAME Table Prototipo to Prototipo_tmp;

           

          Prototipo:

          LOAD

               *,

               Sum([Co Qty]) as Soma

          Resident Prototipo_tmp

          Group by

               [Part Number],

               [CO Mon],

               [CO Year]

               // demais campos que forem necessário

          ;

           

          DROP Table Prototipo_tmp;