Hello everyone,
I am using a do loop to create a counter variable, count. However, the values that needs to be counted is not fully complete. How can I adjust the following code to include missing observations? I want to add a line that makes count=. if time=., and have no rows added if time=., but i couldn't get an if-then statement to work. Instead, the rows where time=. are removed from the dataset.
Thank you!
data dat2; set dat1; if time ge 0 then do count=1 to round(time, 1); output; end; run;
Try adding one more statement at the end of the DATA step:
else output;
Try adding one more statement at the end of the DATA step:
else output;
That worked! Thank you 🙂
data dat2;
set dat1;
if time=. then output;
else if time ge 0 then do
count=1 to round(time, 1);
output;
end;
run;
You could just make sure your upper bound is at least 1.
data dat2;
set dat1;
do count=1 to max(1,round(time, 1));
output;
end;
run;
It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.