I have created a macro that creates a new table based on an SQL procedure that pulls data from some SQL tables. This macro is below and works without any problems as expected:
%macro Pull_Data_from_db(database, server, portid, tblname); %let libraryname = db; proc sql; connect to oledb (init_string="Provider=SQLOLEDB; Integrated Security=SSPI; Initial Catalog=&database.; data source=&server." schema=dbo); create table &tblname. as select * from connection to oledb ( SQL code; quit; %mend;
I next want to create a macro that will take this macro putting it into a loop and run it on multiple tables. So far I have put the function into a new function and tried running it in that function and rather than just connecting I get a pop up asking to specify Data Link Properties.
%macro Pull_Multi_tables_from_db(database, server, portid, tblname); %Pull_Data_from_EDM(database, server, portid, tblname); %mend;
Is there a reason my macro is able to connect properly when run by itself but not when put into a second macro?
Sorry just realised I needed to put & on the front of the variables and . on the end in the second function.
%macro Pull_Multi_tables_from_db(database, server, portid, tblname); %Pull_Data_from_EDM(&database., &server., &portid., &tblname.); %mend;
Sorry just realised I needed to put & on the front of the variables and . on the end in the second function.
%macro Pull_Multi_tables_from_db(database, server, portid, tblname); %Pull_Data_from_EDM(&database., &server., &portid., &tblname.); %mend;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.