BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
FarazA_Qureshi
Calcite | Level 5

What adjustment to the following code could lead to carry out the same only under some specific condition?

ODS CSV FILE = "F:\Temp\Test.csv";

PROC PRINT data=WORK.FINALDATA;

run; quit;

ods _all_ close;

In other words, how to have the Test.csv generated only if desired, i.e. judged on the basis of the value of a variable. For example if a macro variable CSVFORM possess the value of 1 or above only then the Test.csv would be generated otherwise only the remaining code would be carried out but Test.csv would not be made.

Thanx in advance.

1 ACCEPTED SOLUTION

Accepted Solutions
Jagadishkatam
Amethyst | Level 16

%macro file;

ODS CSV FILE = "F:\Temp\Test.csv";

PROC PRINT data=WORK.FINALDATA;

run; quit;

ods _all_ close;

%mend;

%macro print;

PROC PRINT data=WORK.FINALDATA;

run; quit;

%mend;

data _null_;

    set WORK.FINALDATA;

    if &CSVFORM>=1 then call execute('%file');

    else call execute('%print');

run;

Thanks,

Jagadish

Thanks,
Jag

View solution in original post

1 REPLY 1
Jagadishkatam
Amethyst | Level 16

%macro file;

ODS CSV FILE = "F:\Temp\Test.csv";

PROC PRINT data=WORK.FINALDATA;

run; quit;

ods _all_ close;

%mend;

%macro print;

PROC PRINT data=WORK.FINALDATA;

run; quit;

%mend;

data _null_;

    set WORK.FINALDATA;

    if &CSVFORM>=1 then call execute('%file');

    else call execute('%print');

run;

Thanks,

Jagadish

Thanks,
Jag
How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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