função lag

LAG. LAG(variable[, n]). Numérico ou sequência de caracteres. O valor da variável no caso anterior ou n casos antes. O segundo argumento opcional, n, deve ser um número inteiro positivo, o padrão é 1. Por exemplo, prev4=LAG(gnp,4) retorna o valor de gnp para o quarto caso antes do caso atual. Os primeiros quatro casos têm valores omissos do sistema para prev4.

  • O resultado é do mesmo tipo (numérico ou sequência) que a variável especificada como o primeiro argumento.
  • Os primeiros n casos para variáveis de cadeia são configurados para espaços em branco. Por exemplo, se PREV2=LAG (LNAME,2) for especificado, espaços em branco serão designados aos dois primeiros casos para PREV2.
  • Quando LAG é usado com comandos que selecionam casos (por exemplo, SELECT IF e SAMPLE), LAG conta casos após a seleção de caso, mesmo se especificado antes desses comandos. Consulte o tópico Ordem de Comando para obter mais informações..

Nota: em uma série de comandos de transformação sem qualquer comando EXECUTE interveniente ou outros comandos que leem os dados, as funções de atraso são calculadas após todas as outras transformações, independentemente da ordem de comando... Por exemplo,

COMPUTE lagvar=LAG(var1).
COMPUTE var1=var1*2.

e

COMPUTE lagvar=LAG(var1).
EXECUTE.
COMPUTE var1=var1*2.

gera resultados muito diferentes para o valor de lagvar, já que o primeiro usa o valor transformado de var1 ao passo que o último usa o valor original