15 Replies Latest reply: Jul 28, 2014 1:41 PM by Regimilson Silva RSS

    Criar faixa de horário

    Regimilson Silva

      Senhores, boa tarde!

      Quero criar faixa horária e ñ sei como fazer.
      tenho duas tabelas: uma com carros e outras com tempo de viagem. Quero criar uma expressão onde retorne a media do tempo de viagem não pelo horário que o carro saiu e sim por uma faixa horária. exemplo: os carros que saiu entre 06:00 e 06:30, retorne a media de tempo de viagem dessa faixa.
      Alguem pode me ajudar?

        • Re: Criar faixa de horário
          Yuri Nicolett

          Regimilson, verifique a função Class(), ela vai fazer exatamente o que precisa.

           

          Exemplo de utilização:

          class( var,10 ) com var = 23 retorna '20<=x<30'

          class( var,5,'valor' ) com var = 23 retorna '20<= valor <25'

          class( var,10,'x',5 ) com var = 23 retorna '15<=x<25'

           

          Lembrando que o Class deve ser passado na dimensão do gráfico e na expressão você faz a média do tempo.

           

          Caso queira melhor performance, então deve-se fazer essa faixa diretamente no script, utilizando-se de ifs.

          • Re: Criar faixa de horário
            Egnaldo de Sousa

            Acredito que a função Class() pode te ajudar, se possível post um exemplo da sua base para que possamos auxiliar melhor:

             

            Exemplo da função Class:

            class( var,10 ) com var = 23 retorna '20<=x<30'

             

            Abs.

              • Re: Criar faixa de horário
                Regimilson Silva
                DATASaida do carroTempo de viagemmedia tempo viagem
                01/01/1405:0001:3001:35
                01/01/1405:2001:40
                01/01/1405:3001:35
                01/01/1405:5002:0001:28
                02/01/1405:0001:00
                02/01/1405:2001:05
                02/01/1405:3001:40
                02/01/1405:5001:30

                Segue exemplo acima

                sendo que essa faixa seria de 30 minutos.

                EXEMPLO:

                (dimensão)  05:00 - 05:30  (expressão) :media tempo viagem 01:35

                (dimensão)  05:30 - 06:00  (expressão) :media tempo viagem 01:28

                  • Re: Re: Criar faixa de horário
                    Fernando Tonial

                    Olá faça assim:

                     

                    Dados:
                    LOAD DATA, [Saida do carro], [Tempo de viagem], Interval(Subfield(Classe_TMP,'<',1),'hh:mm') & ' - '& Interval(Subfield(Classe_TMP,'<',3),'hh:mm') AS Classe;
                    LOAD *, Class([Saida do carro],0.0208333333333) AS Classe_TMP INLINE [
                        DATA, Saida do carro, Tempo de viagem
                        01/01/14, 05:00, 01:30
                        01/01/14, 05:20, 01:40
                        01/01/14, 05:30, 01:35
                        01/01/14, 05:50, 02:00
                        02/01/14, 05:00, 01:00
                        02/01/14, 05:20, 01:05
                        02/01/14, 05:30, 01:40
                        02/01/14, 05:50, 01:30
                    ];
                    

                     

                    Resultado.

                    05:00 - 05:3001:18:45
                    05:30 - 06:0001:41:15

                     

                    Qlikfique-se.

                    Tonial