BookmarkSubscribeRSS Feed
rmlmrmlm
Obsidian | Level 7

Hello!

 

I have a large string with variable names, separated by " ", with more than 65534 chars!!

Legacy! No further comments!

 

Example:

%let vars = %EM_NOMINAL_INPUT %EM_ORDINAL_INPUT;

 

I have to concatenate each variable with the (ASC) keyword in order to call PROC DMDB and later, call PROC DMINE.

It's impossible beacuse the string is too large!

 

How to solve this? How can I call PROC DMDB with such a big string just one time?

I tried to split the string in two but the catalog generated is only one and i don't know how to append the first catalog generated to the second catalog and PROC DMINE needs only one ...

 

PROC DMDB...  cat = cat .... ;

    CLASS &vars;

    TARGET ...

RUN;

 

 

Any help?

Thank you!

1 REPLY 1
ballardw
Super User

I don't know if this works with the data mining but the size of the macro variables in the foundation part of SAS is controlled by the option MVARSIZE which defaults to 65534 characters.

 

You can increase the size with an options statement such as

options mvarsize= 1m;

would set the limit to 1 megabyte per macro variable.

 

 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1745 views
  • 0 likes
  • 2 in conversation