SAS : Difference between SYMPUT and SYMGET

This tutorial explains the difference between SYMPUT and SYMPUT 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;

Best Online Course : Practical SAS Programming with 50+ Case Studies

- Explain Programming Concepts in Simple English
- Live Projects & Case Studies
- Job Placement Assistance
- Money Back Guarantee


SAS Tutorials : 100 Free SAS Tutorials

About Author:

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has close to 7 years of experience in data science and predictive modeling. During his tenure, he has worked with global clients in various domains like retail and commercial banking, Telecom, HR and Automotive.


While I love having friends who agree, I only learn from those who don't.

Let's Get Connected: Email | LinkedIn

Get Free Email Updates :
*Please confirm your email address by clicking on the link sent to your Email*

Related Posts:

2 Responses to "SAS : Difference between SYMPUT and SYMGET"

Next → ← Prev