BookmarkSubscribeRSS Feed
fri0
Quartz | Level 8

Hi, I need to create a variable that take the lead value of another variable, I found in internet that I could use merge to do this (Also expanc but I have no license sas ets):

data work.libroper3;

merge

work.libroper2

work.libroper2(firstobs=2

keep=Fecha 'nombre comprador'n 'rut comprador'n 'nombre vendedor'n 'rut vendedor'n Instrumento Liq Cantidad Precio Tasa

Monto Valor Comisión 'T/C'n 'Codigo Folio'n Mvto 'Proc#'n Mon Bol Hora Observación Tipo Tipi Rutc Rutv SecuenciaC SecuenciaV

filtro4759 cruz1

rename=(cruz1=cruz2));

run;

In the internet example, they put "keep=x" and the X variable keeps the values and doesn't start in the second observation, but when I do this, all variables start in the second observation.

cruz2 is the variable that have the lead value of cruz1. So, I get the lead value, but rest of my variables are wrong because the start in the second observation . Anybody could help me please?

1 REPLY 1
fri0
Quartz | Level 8

I could solve it!

data work.libroper3;

merge

work.libroper2

work.libroper2(firstobs=2

keep=cruz1

rename=(cruz1=cruz2));

run;

The rest of variables are not important. with that code could keep the 1first values of all the variables and also get the lead value of cruz1 for cruz2.

The only problem is that i don't understand why, maybe it'll be helpfull if someone could explain the code.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1349 views
  • 0 likes
  • 1 in conversation