Hello everyone,
What is the max amont of macro variables can be defined in proc sql ? and any option can change the default value?
Thanks.
If dataset One has millons of obs, could I do this?"
proc sql noprint;
select values into :value1 - :value1000000000..?
from One
;
quit;
I am not aware if there is a SAS limit. I think you will most likely hit your hardware limit first.
Regards,
Haikuo
I agree. Generally, the symbol tables are contained in memory, but once those limits are reached the values are written to disk, so your limits are constrained by your operating environment and not by SAS. However, just because you could doesn't mean that you should. I find that there are more efficient methods of processing data without creating several million macro variables.
The option that controls the size of your macro space is MSYMTABMAX.
I wouold seriously re-evaluate any logic as to why I was thinking I needed a billion or more macro variables.
Hello SAS_Bigot,
Would you like to introduce some efficient methods of processing data without creating several million macro variables?
Thank you!
Mike
I am still at the loss of what do you want to achieve. If you want to get the value of, say 1000th row of variable 'values', in your original plot, you would use macro variable value1000, you could simply do something like the following:
data _null_;
n=1000;
set one point=n;
call symputx ('value1000', values);
stop;
run;
Haikuo
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.