DATA Step, Macro, Functions and more

missing values

Reply
Occasional Contributor
Posts: 14

missing values

[ Edited ]

data input;
input ID $ period amt;
cards;
X 201001 10000
X 201004 800
X 201006 200
Y 201101 100
Y 201102 100
Z 201201 .
Z 201202 .
Z 201203 .

;
run;

 

 

Super User
Posts: 5,081

Re: missing values

Assuming that I understand what you want, here's one way:

 

data defaults;

set test1 (keep=id amt);

by id;

where amt > .;

if first.id;

rename amt=default_amt;

run;

 

data want;

merge test1 defaults;

by id;

if amt > . then default_amt = amt;

else amt = default_amt;

drop default_amt;

run;

 

It's untested, but looks like it should work just fine.

Super User
Posts: 10,487

Re: missing values

Please repost your orginial question or a close version.

Without the question the response makes no sense.

Super User
Posts: 9,676

Re: missing values



data input;
input ID $ period amt;
cards;
X 201001 10000
X 201004 800
X 201006 200
Y 201101 100
Y 201102 100
Z 201201 .
Z 201202 .
Z 201203 .
;
run;
data want;
 merge input input(keep=id period 
 rename=(id=_id period=_period) firstobs=2);
 output;
 if id=_id then do;
  do i=period+1 to _period-1;
   period=i;output;
  end;
 end;
 drop _: i;
run;

Ask a Question
Discussion stats
  • 3 replies
  • 190 views
  • 0 likes
  • 4 in conversation