Hi,
I'm trying to do a do loop with proc sql. The following part of the script gives an error message:
%let totalobs = 100;
%let totalobs = &totalobs. + 1;
%put totalobs;
ERROR: Open code statement recursion detected.
Does anyone know what the issue is?
Thank you!
Your code works fine
%let totalobs = 100;
%let totalobs = &totalobs. + 1;
%put totalobs=&totalobs;
/*or*/
%let totalobs = 100;
%let totalobs = %eval(&totalobs. + 1);
%put totalobs=&totalobs;
Your code works fine
%let totalobs = 100;
%let totalobs = &totalobs. + 1;
%put totalobs=&totalobs;
/*or*/
%let totalobs = 100;
%let totalobs = %eval(&totalobs. + 1);
%put totalobs=&totalobs;
I still get the same error
Try to restart SAS and rerun
Here is my log:
1840 %let totalobs = 100;
1841
1842 %let totalobs = &totalobs. + 1;
1843
1844 %put totalobs=&totalobs;
totalobs=100 + 1
1845
1846
1847 /*or*/
1848
1849 %let totalobs = 100;
1850
1851 %let totalobs = %eval(&totalobs. + 1);
1852
1853 %put totalobs=&totalobs;
totalobs=101
It works. Thank you so much
You might get that message if you made the mistake of omitting the first semicolon at the end of the first %LET statement. If that's not the cause, we might need to see the log including the SQL piece.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.