7 Replies Latest reply: May 24, 2017 7:19 AM by Márcio Rodrigo Campestrini RSS

    Totalizando Errado

    João Candido

      Bom Dia, estou com uma dúvida em uma tabela, Conforme imagem abaixo, minha dúvida nesse momento é:

      A soma das colunas População (10.630,356) e Peso Vendido (708.755,442) esta corretos mas a soma da coluna Consumo (173.461.741.564,75) esta errado.

      A coluna Eficiência não calculou, imagino que por causa do erro na coluna consumo, linha a linha, a coluna Eficiência mostra o percentual entre o Peso Vendido e o Consumo.

      O consumo é baseado em dados estatísticos de entidades especializada, o peso vendido dados da base dados, a população são dados do IBGE.

       

      Tabela Dados.png

      Minha dúvida é: o que devo fazer para corrigir a soma da coluna consumo?

      Exportando os dados dessa tabela para o Excel podemos ver que as somas deveriam ser os valores apresentados abaixo.

      Excel.PNG

      Vou listar abaixo o código utilizado em cada uma das Medidas da tabela

      População:

      SUM(AGGR(DISTINCT POPULACAO, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO))

       

      Consumo:

      SUM(AGGR(DISTINCT POPULACAO, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO))*

      (SUM(AGGR(DISTINCT DIASUTEIS, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO)) *

      SUM(AGGR(DISTINCT CONSUMODIA, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO)))

       

      Peso Vendido:

      Sum(PESO)

       

      Eficiência:

      SUM(PESO)/

      (SUM(AGGR(DISTINCT POPULACAO, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO))*

      (SUM(AGGR(DISTINCT DIASUTEIS, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO)) *

      SUM(AGGR(DISTINCT CONSUMODIA, MESANO, SEQCIDADE, CIDADE, UF, PAIS, REGIAO, DESCRREGIAO))))

       

      Agradeço a ajuda na solução desse erro e sugestões caso essa estrutura possa ser melhorada.

      Obrigado.

        • Re: Totalizando Errado
          Márcio Rodrigo Campestrini

          João,

           

          Você tentou mudar as fórmulas para a forma mais simples para iniciar os testes:, fazendo um sum() simples e depois somente incluindo o AGGR para ver onde a coisa "desanda"?

           

          Outra dica é avaliar, com uma tabela simples, quais são os dados retornados quando faz a seleção de um só estado. Isso pode dar uma pista dos dados que estão sendo utilizados para a soma.

           

          Uma outra análise é se esse totalizados passa a funcionar quando selecionado somente um estado.

            • Re: Totalizando Errado
              João Candido

              Bom Dia Márcio, fazer um SUM() simples acredito que não vai dar certo, a massa de dados principal vem de um banco de dados relacional, então, dessa forma o valor do consumo per capto acaba se repetindo, sendo mostrado uma vez para cada nota fiscal emitida para cada cidade, nesse caso estamos tratando isoladamente o estado de MG que é o estado alvo da análise, quando seleciono apenas uma cidade a "soma" fica certa, que nesse caso repete o valor da cidade, mas se selecionar mais de uma cidade começa a distorcer o resultado da soma.

              Na tabela simples o resultado é exatamente o mesmo da tabela dinâmica. que são os mesmo dados retornado se realizar a consulta direto no SGBD.

              Tabela Simples.PNG

              Tem alguma coisa doida acontecendo nessa soma, mas eu não consegui descobrir.

            • Re: Totalizando Errado
              João Candido

              Boa Noite Márcio acabei enrolado e demorei para postar o arquivo, mas segue em anexo o arquivo com os dados caso queriam importar novamente os dados para testes, são exatamente esses dados que estou trabalhando com alguns campos disfarçados, mas são os mesmos dados.

              As coisas dentro do arquivo ainda estão bem bagunçadas porque estou validando os números, depois validado que vou gerar criar os gráficos finais.

               

              Agradeço a colaboração e dedicação de todos.

                • Re: Totalizando Errado
                  Márcio Rodrigo Campestrini

                  Joao

                   

                  Olhando o aplicativo uma série de perguntas me vem a cabeça:

                  1) Qual o resultado que está na tabela do DW?

                  2) Por que a população da cidade não está aparece em todos os casos na tabela da pasta (3)?

                  3) Por que não criar uma tabela no aplicativo com os dados da população (uma única vez) e ligar às vendas?

                  4) Como é gerada a informação do consumo/dia?

                    • Re: Totalizando Errado
                      João Candido

                      Boa Noite Márcio, vou tentar responder todas as suas perguntas.

                      1) No DW eu tenho 3 tabelas, sendo:

                      1ª - Dados das Cidades, UF, População, Área, Região e Consumo Mensal, Código IBGE;

                      2ª - Dados dos Feriados onde teu tenho dias úteis por mês e Dias trabalhados nem cada mês, esses dados estão sendo gravados por efeito de performance, pois para calcular isso a cada execução das views no ERP demora muito, os feriados e dias não trabalhados são registrados no ERP e gravamos nessa tabela para agilizar a pesquisa;

                      3ª - Tabelas com os dados das vendas, onde tem o Código da cidade da venda, cliente, vendedor, produto, etc.

                      O que esta sendo carregado no Qlik é uma view que faz a junção de todos os dados em uma massa de dados única, e o retorno é o arquivo em questão.

                       

                      2) A população da cidade aparece repetida devido ao JOIN realizado entre as tabelas, ao realizar o JOIN o Oracle vai repetir todas os resultados coincidentes, na tabela onde estão os dados de vendas estou com os dados no menor nível possível, ou seja, venda a venda, mostrando item a item de cada nota, fiz dessa forma para possibilidade realizar pesquisa e mostrar dados agrupado em todos os níveis.

                      No caso, não só da pasta (3) como em todas as outras os objetos ainda não são definitivos, possivelmente essa aplicação será finalizada com 2 pastas apenas, como eu disse, estou tentando validar os números, validar as medidas e dimensões para depois criar as Dash corretamente. mas especificamente sobre sua pergunta, o motivo das informações que não aparecer eu também preciso entender, pois teoricamente deveriam aparecer, o que não terá em todas as cidades são dados de vendas, os volumes apresentados são uma amostragem.

                       

                      3)Essa pergunta achei bem pertinente, pois é possível que eu esteja usando conceitos errado no Qlik, como estamos acostumados a trabalhar com banco de dados, e nas consultas quando realizamos JOIN entre as tabelas o retorno dos dados sempre vai repetir as linhas coincidentes de acordo com as chaves primárias e estrangeiras, o retorno de dados fica da forma que esta no arquivo enviado.

                      Dessa forma, imagino que internamente o Qlik vá fazer a mesma coisa, ou seja, se eu criar uma tabela no Qlik com os dados de cidade e ligar essa tabela com a tabela de vendas o resultado seria o mesmo que acontece no banco de dados. E é nesse ponto que pode ser que eu tenha que aprender a "pensar" na lógica do Qlik, caso eu esteja pensando de forma errada e você possa me ajudar a entender essa lógica e ajudar a fazer da forma correta.

                       

                      4) A informação do consumo dia é gerada a partir do consumo mensal, e pode ser feito de duas formas.
                      1ª - Para o calculo de percentual e análise de eficiência pegamos o consumo mensal, dividimos pela quantidade de dias uteis de cada mês para saber o consumo diário, considerando que a empresa trabalha 5 dias por semana menos os feriados municipais, estaduais e etc, o objetivo é identificar quanto cada cidade, vendedor ou região esta participando do mercado analisado, uma vez que o consumo mensal é definido através de publicações especializadas, dados do governo e outros.

                      2ª - Para a análise de projeção utilizo os dias trabalhados, nesse caso é verificado o volume vendas até o dia da análise, divide-se o volume de vendas pela quantidade de dias trabalhados e multiplica pela quantidade de dias úteis, assim sabemos qual será a projeção de vendas até o final do mês, para meses anteriores os dias trabalhados serão iguais os dias úteis, nesse caso realizado e projetado será sempre igual.

                       

                      Bom, espero ter respondido suas perguntas, espero não ter falado muita besteira.

                      Novamente agradeço pela ajuda.

                        • Re: Totalizando Errado
                          Márcio Rodrigo Campestrini

                          Joao

                           

                          Tente separar as informações do IBGE (população) em uma tabela a parte. Para ligar essa nova tabela à tabela com as informações do consumo, basta criar um campo com o mesmo nome nas duas tabelas; o Qlik vai ligá-las automaticamente.

                          Não garanto que vai resolver, mas pode ser um caminho para simplificar a sua fórmula e corrigir o seu problema.