05-10-2012 01:20 PM
What is the max amont of macro variables can be defined in proc sql ? and any option can change the default value?
If dataset One has millons of obs, could I do this?"
proc sql noprint;
select values into :value1 - :value1000000000..?
05-10-2012 01:27 PM
I am not aware if there is a SAS limit. I think you will most likely hit your hardware limit first.
05-10-2012 02:23 PM
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.
05-10-2012 03:35 PM
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.
05-15-2012 12:54 PM
Would you like to introduce some efficient methods of processing data without creating several million macro variables?
05-15-2012 01:15 PM
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:
set one point=n;
call symputx ('value1000', values);