SAS : Difference between SYMPUT and SYMGET

Deepanshu Bhalla 4 Comments ,
This tutorial explains the difference between SYMPUT and SYMGET in SAS.

SYMPUT : To create macro variables in a data step.
SYMGET : To get macro variable value in a data step.

Example 1 : Creating a single macro variable
*Creating a macro variable;
data _null_;
set sashelp.class;
if _N_ = 1 then do;
call symput('nvar', name);
end;
run;
%put &nvar;
*Get macro variable value in a dataset;
data want;
var1=symget('nvar');
run;
 Example 2 : Creating multiple macro variables
*Creating macro variables;
data _null_;
set sashelp.class;
call symput('nvars' || strip(_n_), name);
run;
%put &nvars1 &nvars2 &nvars3;
* Number of rows;
data _null_;
if 0 then set sashelp.class nobs=n;
call symput ('nrows',n);
run;
*Get macro variable value in a dataset;
data want (drop = i);
do i=1 to &nrows.;
var1=symget(cats('nvars',i));
output;
end;
run;
Related Posts
Spread the Word!
Share
About Author:
Deepanshu Bhalla

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 10 years of experience in data science. During his tenure, he worked with global clients in various domains like Banking, Insurance, Private Equity, Telecom and HR.

4 Responses to "SAS : Difference between SYMPUT and SYMGET"
  1. Really insightful , thanks . my first time with macros

    ReplyDelete
  2. Your interview questions are really helpful for revision as well. Thank you so much for helping out everyone. Your great experience and expertise is really creating wonders.

    ReplyDelete
  3. Can u explain it with simple examples

    ReplyDelete
Next → ← Prev