BookmarkSubscribeRSS Feed
Tips Semanais: SAS Programação – LAG
CaioFlorencio
SAS Employee

LAG é uma função que utilizada dentro de um Data Step no SAS pode te ajudar muito a buscar valores. O tradução livre quer dizer último, o que ficou para trás, ou seja, você quer buscar o valor/conteúdo da variável anterior a posição de leitura atual no PDV.

 

Vejamos um exemplo para vocês entenderem:

 

 

data exemplo_lag;

  set sashelp.stocks (keep= stock date close);

  fecha_ant = lag(close);

run;

 

 

Na saída deste código a tabela exemplo_lag ficará desta maneira

 

CaioFlorencio_0-1698408976894.png

Outra informação você pode pegar os valores anteriores ou para trás ‘n’ basta colocar o ‘n’ na chamada da função. Por exemplo quero pegar o valor 2º. E 3º. Valores anteriores e calcular a medía.

 

data exemplo_lag;
  set sashelp.stocks (keep= stock date close);
  fecha_ant = lag(close);
  fecha_ant2 = lag2(close);
  fecha_ant3 = lag3(close);

  med = mean (fecha_ant, fecha_ant2, fecha_ant3);
run;

Notem o que vai acontecendo no resultado da saída.

CaioFlorencio_1-1698409055960.png

Para mais detalhes sobre o lag vejam na documentação oficial do SAS:

LAG Function :: SAS(R) 9.3 Functions and CALL Routines: Reference

 

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Article Tags