4 Replies Latest reply: Oct 27, 2016 3:31 PM by Yuri Nicolett RSS

    Como mostrar o resultado de um campo baseado na data min

    David Almeida

      Boa tarde!

      Como consigo mostrar o o código do aeroporto baseado na data mínima de saída?

      Preciso que apareça o código do aeroporto baseado na data min de saída.

       

      Expressão que estou utilizando, porém não está me trazendo o resultado.

      if(min(Aereo.data_saida), codigoaeroportoorigem)

       

      Obrigado.

        • Re: Como mostrar o resultado de um campo baseado na data min
          Yuri Nicolett

          No IF você tem que fazer a comparação com um campo, por exemplo:

           

          if(Date(min(Aereo.data_saida), 'DD/MM/YYYY') = Date(Aereo.data_saida, 'DD/MM/YYYY') , codigoaeroportoorigem)


          Se preferir pode fazer por FirstSortedValue, por exemplo:


          firstsortedvalue (Aereo.data_saida, codigoaeroportoorigem)

          • Re: Como mostrar o resultado de um campo baseado na data min
            Tiago Fernando Cardoso

            Boa tarde David, tudo bem?

             

            Penso que o campo 'Aereo.data_saída' possa não estar sendo interpretado como data, tente colocar:

             

            iF(MIN(DATE(Aereo.data_saida)), codigoaeroportoorigem).

             

            Creio que a função FirstSortedValue possa lhe ajudar também amigo,

            Abaixo segue um exemplo e a descrição, adaptado do manual de referência PT_BR:

             

            firstsortedvalue ([ distinct ] expressão [, relevância de classificação [, n ]])

            Retorna o primeiro valor da expressão classificado pela relevância de classificação correspondente, onde expressão apresenta iterações em vários registros, conforme definido por uma cláusula group by. O peso de classificação deve retornar um valor numérico em que o valor mais baixo fará com que o valor correspondente da expressão seja classificado primeiro. Se a expressão valor de classificação for precedida por um sinal de menos, a função retornará o último valor. Se mais de um valor de expressão compartilhar a mesma ordem de classificação mais baixa, a função retornará NULL. Ao declarar um valor de n maior que 1, a enésima posição na classificação será retornada. Se a palavra distinct aparecer antes da expressão, todas as duplicatas serão ignoradas.

             

            Exemplo:

            Load

                Cliente,

                firstsortedvalue(ArtigoComprado, DataPedido) as PrimeiroProdutoComprado

            from abc.csv

            group by Cliente;