Hi All
I am a fairly new user to EG as I usually program in base SAS and then put scripts in a EG project to automate data runs.
I picked up this issue, and being unsure around EG, I am an not sure why its giving the error.
I have a macro that is called and creates table names using the following convention to create table names : "table_name". Code is given below. When I developed this in Base SAS, it gives no error. It writes these tables to a library called WC000001. When I put this in EG, it gave an error 'user access' (see screen shot below).
proc datasets library=work noprint;
delete CDQ_CD_MOB;
run;
%macro run_CD_MOB(MOB);
proc sql;
create table "CD_&MOB.MOB" as
select *
from CDQ_monthly
where MOB = &MOB
;
quit;
proc append data="CD_&MOB.MOB" base= CDQ_CD_MOB;
run;
%mend run_CD_MOB;
%run_CD_MOB(3);
%run_CD_MOB(6);
I'd appreciate input on two matters:
1. why does EG have this issue and how do I fix it.
2. how do I redirect this code to output the tables to a library of my own choosing (or to the work library). This will probably fix the issue anyway.
Thnx
GD
I think SAS is interpreting the statement:
create table "CD_&MOB.MOB"
As a reference to a filename, not a data set. Try removing the quotes from the reference (in both the SQL and APPEND steps).
I'm confused! Where do you mention the library WC000001? And, should the various file names be in quotes?
Art, CEO, AnalystFinder.com
because I use a macro variable in the table name, you need to put quotation marks around the name. Because of this, SAS puts it into a temporary library (some some silly reason).
I think SAS is interpreting the statement:
create table "CD_&MOB.MOB"
As a reference to a filename, not a data set. Try removing the quotes from the reference (in both the SQL and APPEND steps).
Happens to the best of us 🙂 Glad it's working.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.