Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Retornar o Ultimo registro

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)

3 Replies
diogo-17
Contributor
Contributor

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);

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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

furtado@farolbi.com.br
Clever_Anjos
Employee
Employee

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