Thanks Lawrence for pointing out the lag function, LinLin for your timely response and art297 for the detailed procedure. art297's answer would probably help but since the actual number of records in my dataset was +72000 I wasn't sure if it was the best thing to do. I also needed something more straightforward. After a long search on the web, I figured out how to create a matrix from the data set, do my operations and transform it back into a data set which does the thing i needed to do. Here's my code: Proc IML; use old_dataset var{myB, myA}; read all into my_matrix; Do i=2 to 72676; If my_matrix[i,1]=0 then my_matrix[i,2]=my_matrix[i-1,2]; end; Create new_dataset from my_matrix[colname={'myB' 'myA'}]; append from my_matrix; Quit; the above code uses IML. To check if you have it as part of your SAS package run the code below: * determine what SAS compoentes are installed; Proc Setinit; Run;
... View more