Hello Team,
I am just wondering what below step actually does
data strat.rep_raised_resolved;
set strat.rep_raised_resolved strat.rep_raised_resolvedtotal;
if portfolio = '' then portfolio="TOTAL";
run;
Is it merge or union or full outer join or something else ? Can we relate it with any PROC SQL ?
Please advice us here
Thanks In Advance
This isn't really a question. You may want to learn SAS so you understand some of these basics.
For your code, it is doing two things:
1) it is setting the three datasets: strat.rep_raised_resolved strat.rep_raised_resolvedtotal, underneath each other starting from the left. A bit like a union all statement in SQL, except that set expands the final dataset to incorperate all the variables found across the three datasets.
2) An if logic block decides if the variable portfolio is empty ('') and if so populates it with the string "TOTAL".
Just to add, its not quite a union all (unless by happenstance all datasets have the same structure). Union all will fail if any of the datasets have more or less columns, and do implcit length alterations if needed. Set will fail if datatypes are different for existing columns.
Hello,
Just to add - union will also fail if datatypes are different for the same column
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.