DATA Step, Macro, Functions and more

do in a data step

Reply
Occasional Contributor
Posts: 14

do in a data step

Hi,

How to do the same thing that below (ie the same column names) with a boucle do?

data final4 (drop=_label_);
set final3;
COL1b=lag(seq1);
COL2b=lag(seq2);
COL3b=lag(seq3);
COL4b=lag(seq4);
COL5b=lag(seq5);
run;

thanks by advance
Super Contributor
Super Contributor
Posts: 3,174

Re: do in a data step

Not totally sure of the question, possibly interested in a SAS coding technique requiring fewer lines to accomplish the objective?

If yes, then using a SAS ARRAY to declare the two sets of SAS variables is a technique I use often when there are repeating variable groups to assign -- sample code below, given the poster's submission:

data final4 (drop=_label_);
set final3;
array acol (*) col1b col2b col3b col4b col5b;
array aseq (*) seq1-seq5;
do i=1 to dim(acol);
acol(i) = lag(aseq(i))
end;
run;

Scott Barry
SBBWorks, Inc.
Occasional Contributor
Posts: 14

Re: do in a data step

Thank you, it's exactly what i wanted to do.
My programs will looks better!
Cyril
Ask a Question
Discussion stats
  • 2 replies
  • 134 views
  • 0 likes
  • 2 in conversation