I'm using SAS Studio on a MacBook Pro with VirtualBox and Safari. I wrote a macro that used to work, but now does not with the following log messages:
Hi,
For that &GRAPHTERM, that must be something being setup in the auto run of SAS, maybe in an autoexec.sas file, or something similar, you might want to check that to see if its been setup correctly, check all the options are up and running.
Sorry, I am not reading that code, it breaks every rule of easy to read code I can think of (indentation, finishing steps, ending macro variables etc.). At a guess, as your using lots of call symputs, its likely one of those is being generated that contains either quotes, or something else which is causing problems. comment out the whole macro and run it adding a step at a time, there is a lot in that code that looks suspicious to me. the first datastep, you have an if then around assigning charclass, but then afterwards just assign it TRT without any logic? And this line:
Doesn't seem to do anything?
%if %upcase(%substr(&exact,1,1))=Y %then %str(exact wilcoxon);
What is this line doing?
140 &GRAPHTERM; ;*';*";*/;RUN;QUIT;
What does &graphtemr decode to? Why not finishi it with a full stop. Why the sequence of semicolons, asterix, quotes, and run quit? It looks like there was a problem before with unbalanced quotes, and this has been patched up with that sequence.
If you want my suggestion, I would take this moving to a new system as a good opportunity to do some software lifecycle management on this, look at all the code, see what is needed, why its needed, update it to the latest SAS functionality etc. And document everything!
In a normal production environment this should be done at least once a year, reassess against Functional Design Specifcation and requirements, check code still does what it should, re-test, look at new requests etc.
Hi,
For that &GRAPHTERM, that must be something being setup in the auto run of SAS, maybe in an autoexec.sas file, or something similar, you might want to check that to see if its been setup correctly, check all the options are up and running.
Sorry, I am not reading that code, it breaks every rule of easy to read code I can think of (indentation, finishing steps, ending macro variables etc.). At a guess, as your using lots of call symputs, its likely one of those is being generated that contains either quotes, or something else which is causing problems. comment out the whole macro and run it adding a step at a time, there is a lot in that code that looks suspicious to me. the first datastep, you have an if then around assigning charclass, but then afterwards just assign it TRT without any logic? And this line:
Doesn't seem to do anything?
%if %upcase(%substr(&exact,1,1))=Y %then %str(exact wilcoxon);
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!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.