3 Replies Latest reply: Jul 26, 2016 10:02 AM by Hamilton Junior RSS

    Dimensão de Tempo - Postgres

    Hamilton Junior

      Boa tarde,

      Meu cenário é o seguinte:

      Tenho um campo no banco onde é lançado um valor de metas por MES, porém os gerentes precisam destes valores diários, sendo que hoje essa análise é feita manualmente no excel, acredito que posso melhorar este processo.

       

      Pensei em criar um cálculo comparando as semanas do mes passado em diversas análises, tenho uma tabela de dimensão de tempo porém eu preciso de alguns dados que não constam nela e gostaria de atualizar.

       

      Neste momento eu preciso do dia da semana em número, exemplo, o 1º, 2º, 3º dia da semana 2. Eu não tenho essa informação, sei que existem algumas tabelas bem completas porém eu não faço ideia de como fazer ou se tem alguma coisa para download.

       

      O que me sugerem? Alguém ja fez esse tipo de análise no QV? Acredito que eu vá precisar de ajuda.

        • Re: Dimensão de Tempo - Postgres
          Alessandro Furtado

          Hamilton, boa noite.

           

          Nao sei se entendi.  Segue um modelo.

           

          2015-06-04 22_13_25-QlikView x64 - [C__Furtado_Qlik_QlikView_Demos_Community_Criar Calendario.qvw].png

           

           

          //=======================================================================================

          //

          // Criar calendario

          //

          LET vDateMin   = Num(MakeDate(year(Today())-1,1,1)); 

          LET vDateMax   = Num(MakeDate(year(Today()),12,31));

          TempCalendario: 

          LOAD

             Date($(vDateMin) + RowNo() - 1)  AS TempDate

             AUTOGENERATE 1 

          WHILE $(vDateMin)+IterNo()-1<= $(vDateMax); 

           

           

          Calendario: 

          LOAD

            Date(TempDate,'DD/MM/YYYY')                 AS Data,

            Week(TempDate)                              as Semana,

            WeekDay(TempDate)                           as Semana_Dia,

            WeekStart(TempDate)                         as Semana_Inicio,

            WeekEnd(TempDate)                           as Semana_Final,

            (TempDate - WeekStart(TempDate))+1          as Semana_Dia_da_Semana_Comecando_Segunda,

            Mod( WeekDay( TempDate - 6 ), 7 ) +1        as Semana_Dia_da_Semana_Comecando_Domingo

           

           

          Resident TempCalendario;

          drop table TempCalendario;

          //=======================================================================================

          • Re: Dimensão de Tempo - Postgres
            Hamilton Junior

            Chegamos a conclusão que deixar os cálculos de metas diárias serem calculados pelo Qlikview seria muito volátil, no setor de varejo em que trabalho existem muitas variáveis que devem ser consideradas como ofertas sazonais, pagamentos, feriados entre outras coisas.

            A solução foi desenvolver um software que faz um cálculo básico comparando os dados com o ano passado e deixando o usuário alterar como bem entende no calendário, os dados são gravados no banco e o Qlikview faz a leitura.