3 Replies Latest reply: Jul 14, 2016 7:14 PM by Clever Anjos RSS

    Retornar o Ultimo registro

    Carlos Alexandre Souza

      Boa noite!

       

      Como faço para retornar o ultimo registro de um determinado centro de custo:

      Tenho a dimensão centro de custo sendo que um funcionário poderá ter movimentando por mais de um centro de custo então dessa forma que coloquei ele retornará apenas o ultimo registro de cada centro de custo. Mas preciso que retorne o ultimo registro desconsiderando a dimensão

       

      Load

      Custo:
      LOAD s %ID_CC,
        CodigoCentroCusto,
      CentroCusto,

      DataMovimentacao

      FROM CC.QVD

       

      Expressão

      =Only({<Id={'$(=Max(Id))'}>}DataMovimentacao)

       

       

        • Re: Retornar o Ultimo registro
          Diogo Silva

          Bom dia

           

          Segue um exemplo:

           

          Temp:

          LOAD * INLINE [

              Centro, DataMovimentação

              1, 12/01/2015

              2, 10/01/2015

              3, 03/02/2015

              4, 01/02/2015

          ];

           

           

          NoConcatenate

           

           

          Fato:

          LOAD

            Centro,

            DataMovimentação

          Resident

            Temp

          Order by DataMovimentação asc;

           

           

          DROP Table Temp;

           

           

          let vUltimoRegisto = Peek('Centro',-1,'Fato');

           

           

          TRACE Ultimo registro: $(vUltimoRegisto);

          • Re: Retornar o Ultimo registro
            Alessandro Furtado

            Carlos,

             

            nao sei se entendi direito, mas acho que o

             

            firstsortedvalue()  pode ajudar.

             

            HELP:

            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;

             

             

            Sendo que se quiser pegar o ultimo, usar o MENOS

             

            firstsortedvalue(ArtigoComprado, -DataPedido) as UltimoProdutoComprado from abc.csv

             

             

            entao para o seu caso acredito

             

             

            firstsortedvalue(DataMovimentacao, -Id) as Ultimo

            • Re: Retornar o Ultimo registro
              Clever Anjos

              Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados.