Hello,
Is it possible to fill in the missing values with the previous value, using SAS EG without editing the code manually?
a b
1 8
2
3
4 10
5 12
should be
a b
1 8
2 8
3 8
4 10
5 12
Thanks in advance!
Not easily...the fastest way is to write a data step.
This is beyond the scope of the wizards in EG.
Try
data want;
set have;
retain oldb;
if b = . then b = oldb;
oldb = b;
drop oldb;
run;
(asssuming that b is a numeric variable)
Thank you Kurt.
(As a 'noob') where can I insert this code?
And what if 'b' is not a numeric value?
Thanks in advance,
Maarten
The missing value for a string is the empty string, most often represented as '' or "" (single or double quotes with nothing or just blanks in between).
The code transforms the existing data set "have" into the new dataset "want", which is the typical generic nomenklatura for datasets in examples here.
And, as further advice: if you want to continue working with SAS, basic skills in data step and procedure coding are indispensable. Probably the best starting point is here:
Thank you very much, Kurt!
I will definitely follow your advice to learn more about data step and procedure coding 🙂
For now, can you help with the question where I should add the 'data-want' code?
As far as I can infer from the postings up to now, you somehow get a SAS dataset with missng values, which you want to have corrected.
Let's assume this dataset is found in your SAS environment as XXXX.YYYY (XXXX being a library, and YYYY being the dataset name).
You need to find the spot in your existing code (nothing in SAS is done without SAS code), and then you can add my code snippet. If you replace "have" and "want" with XXXX.YYYY, you get a step that rewrites the dataset "in place" with the corrected values.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.