Hi there,
I havn't been able to google/find this issue, therefore this post.
data want;
set have1 have2 have3;
length Source $5;
where something = &a_variable.;
if [observations are from have1] then Source="have1";
if [observations are from have2] then Source="have2";
if [observations are from have3] then Source="have3";
run;
Is something like this possible? In the log it always shows how many observations SAS is able to find from the different datasets put in the set statement.
NOTE: There were 27834 observations read from the data set WORK.HAVE1.
NOTE: There were 0 observations read from the data set WORK.HAVE2.
NOTE: There were 22808 observations read from the data set WORK.HAVE3.
Is it also possible to conditionally do something based on those observations? Like add a variable with the source of the obs? I am running SAS 9.4.
INDSNAME option on the SET statement.
See example 12 in the documentation, which is exactly your question.
data want;
set
have1 (in=have1)
have2 (in=have2)
have3 (in=have3)
;
length Source $5;
where something = &a_variable.;
if have1 then Source="have1";
if have2 then Source="have2";
if have3 then Source="have3";
run;
INDSNAME option on the SET statement.
See example 12 in the documentation, which is exactly your question.
Both options work perfectly, thanks for the quick reply!
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!
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.