9 Replies Latest reply: Dec 7, 2016 7:34 PM by Alessandro Furtado RSS

    Dificuldade com semanas

    Thiago Ramos

      Bom dia Srs,

       

      Estou com uma dificuldade em apresentar uma análise com período em semanas, já vi tópicos aqui no fórum mas em nenhum deles se encaixou o que eu precisava.

       

      O cliente recebe produtos por peso, em tonelada.

      Além de outras análises, eles precisam saber o peso médio recebido por semana de cada fornecedor, então seria algo como uma tabela:

       

      FornecedorSemana1Semana2Semana3Semana4Semana5
      Fornecedor115TON18TON13TON24TON25TON
      Fornecedor224TON12TON13TON......
      Fornecedor321TON............
      Fornecedor422TON............

       

       

      O que não estou conseguindo é criar essas colunas de semana. Acredito que seriam dimensões, correto? Mas como fazer para o sistema saber que do dia 1 ao 7 é a primeira semana e etc montando a tabela dessa forma?

        • Re: Dificuldade com semanas
          Alessandro Furtado

          Thiago,

           

          normalmente uso a semana do ano ( week(Data) ).

           

          Se quiser a semana do mês, a semana começa em um domingo ou como você colocou do dia 1 a 7 semana1,dia 8 a 14 Semana2 ,......?

           

          Se for o primeiro caso, na carga

           

          week(Data)         as Semana

           

          Se for o segundo caso, // semana 1,2,..... do mês, começando dia 1,depois 8,......

           

          floor((day(Data )-1)/7)+1

            • Re: Dificuldade com semanas
              Thiago Ramos

              Boa tarde Alessandro,

               

              Seria da segunda forma, a semana do mês, iniciando no dia 1 ao 7 a primeira, depois 8 a 14 a segunda e etc...

               

              Fiz da forma que falou, mas fiquei sem saber onde calcular a média do peso.

               

              Comecei a utilizar o Qlik semana passada, a maior parte das analises que me pediram eu consegui fazer, mas eram todas com data certa, ou mensais, essa de semana que estou tendo dificuldade.

               

              Sem título.jpg

                • Re: Dificuldade com semanas
                  Alessandro Furtado

                  Thiago,

                   

                  faz na carga, no script da carga.  Assim, você vai usar o campo criado na dimensao.

                   

                  Segue um modelo de exemplo....

                    • Re: Dificuldade com semanas
                      Thiago Ramos

                      Bom dia Alessandro,

                       

                      O exemplo acima foi muito bom para conhecimento, obrigado.

                       

                      Mas ainda não resolve.

                       

                      Talvez eu tenha perguntado de forma errada. Preciso saber a semana do mês como disse, mas para usar como intervalo no cálculo da média do peso.

                      Para ficar no título da coluna, basta eu colocar "Semana1" como rótulo.

                       

                      O que preciso é calcular a média do peso das entregas, apenas da primeira semana do mês, iniciando no dia 1 e terminando no dia 7.

                       

                      Depois a média da segunda semana, do dia 8 ao 14, e assim por diante.

                       

                      Acredito que teria que usar expressão de média, mas selecionar apenas essas entregas por semana que não sei como fazer.

                       

                      Ficaria então em cada linha, a média de peso por fornecedor apenas da semana1, depois na segunda coluna da semana2, etc...

                        • Re: Dificuldade com semanas
                          Alessandro Furtado

                          Então,

                           

                           

                           

                          Se você cria um campo chamado semana na sua carga, ele vai te dar por exemplo do dia 1 a 7 seria o campo Semana com conteúdo = 1.

                           

                           

                           

                          Assim,  um avg(Valor)  por exemplo te daria a média da semana, que poderia estar em uma dimensão.

                           

                           

                           

                          No modelo que anexei como exemplo a semana está como dimensão.  erias um modelo reduzido e embaralhado para colocar para te mostrar esta ideia?

                            • Re: Dificuldade com semanas
                              Thiago Ramos

                              Bom dia Alessandro,

                               

                              Entendi a forma que você quis dizer, realmente se eu utilizar na carga acredito que daria certo.

                              Já vi exemplos até em videos dessa forma.

                               

                              Mas estou usando uma conexão ODBC com SQL SELECT, que não me deixa utilizar a função week(data) no meio do select ao carregar.

                               

                              Nenhum dos exemplo que vi, inclusive em videos demonstrava dessa forma, sempre com LOAD.

                                • Re: Dificuldade com semanas
                                  Yuri Nicolett

                                  Thiago, basta você fazer uma re-leitura da tabela carregada,  do banco, e trata-la com as funções do qlikview.

                                   

                                  Exemplo01:

                                   

                                  Tabela:

                                  LOAD

                                       CAMPO1,

                                       CAMPO2,

                                       Week(CAMPO3) as SEMANA;

                                  SQL SELECT CAMPO1, CAMPO2, CAMPO3  FROM ..................;

                                   

                                   

                                   

                                  Exemplo02:

                                   

                                  Tabela:

                                  SQL SELECT CAMPO1, CAMPO2, CAMPO3  FROM ..................;



                                  Tabela2:

                                  LOAD

                                       CAMPO1,

                                       CAMPO2,

                                       Week(CAMPO3) as SEMANA

                                  RESIDENT Tabela;


                                  DROP TABLE Tabela;

                                    • Re: Dificuldade com semanas
                                      Thiago Ramos

                                      Boa tarde,

                                       

                                      Consegui fazer dessa forma, o problema era com relação a carregar no LOAD usando a tabela que havia criado através do SQL SELECT  e depois exclui-la.

                                      Agora ele criou realmente um campo para a semana do mês, com relação a isso, obrigado.

                                       

                                      Só que quando coloco a semana do mês como dimensão a tabela está ficando assim:  

                                      FornecedorSemanas_MesPeso
                                      11121,18001
                                      Fornecedor11440,5000038
                                      Fornecedor12222,0699997
                                      Fornecedor13142,1200008
                                      Fornecedor14197,9099979
                                      Fornecedor15404,6399994
                                      Fornecedor21230,5500021
                                      Fornecedor22232,7100029
                                      Fornecedor2393,52000046
                                      Fornecedor24119,5900021
                                      Fornecedor2515,71000004
                                      Fornecedor311033,010006
                                      Fornecedor32485,9199982
                                      Fornecedor331058,229996
                                      Fornecedor34420,7999954

                                       

                                       

                                      Eu precisava que ficasse dessa forma, com cada semana em 1 coluna:

                                      FornecedorSemana1Semana2Semana3Semana4Semana5
                                      Fornecedor115TON18TON13TON24TON25TON
                                      Fornecedor224TON12TON13TON......
                                      Fornecedor321TON............
                                      Fornecedor422TON............