DATA Step, Macro, Functions and more

Possible to conditionally add variable based on obs from different datasets in set statement?

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 8
Accepted Solution

Possible to conditionally add variable based on obs from different datasets in set statement?

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.


Accepted Solutions
Solution
‎08-18-2016 03:54 AM
Super User
Posts: 19,770

Re: Possible to conditionally add variable based on obs from different datasets in set statement?

Posted in reply to Kristiaan

INDSNAME option on the SET statement. 

See example 12 in the documentation, which is exactly your question. 

 

http://support.sas.com/documentation/cdl/en/lestmtsref/68024/HTML/default/viewer.htm#p00hxg3x8lwivcn...

View solution in original post


All Replies
Super User
Posts: 7,762

Re: Possible to conditionally add variable based on obs from different datasets in set statement?

Posted in reply to Kristiaan
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;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Solution
‎08-18-2016 03:54 AM
Super User
Posts: 19,770

Re: Possible to conditionally add variable based on obs from different datasets in set statement?

Posted in reply to Kristiaan

INDSNAME option on the SET statement. 

See example 12 in the documentation, which is exactly your question. 

 

http://support.sas.com/documentation/cdl/en/lestmtsref/68024/HTML/default/viewer.htm#p00hxg3x8lwivcn...

Occasional Contributor
Posts: 8

Re: Possible to conditionally add variable based on obs from different datasets in set statement?

Both options work perfectly, thanks for the quick reply!

 

 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 216 views
  • 0 likes
  • 3 in conversation