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

Hello SAS guys,

 

I import multiply datasets into SAS. I want my datasets group by monthly and cumulative. If I want my reports generated both monthly and cumulative, how do I code?

Here is the sample codes:

 

%let report=Cumulative;

filename indata pipe "dir &datadir. /b";

data file_list;
length fname$ 256.;
infile indata truncover; /* infile statement for file names */
input fname$ 256.; /* read the file names from the directory */
run;

Proc sql noprint;
create table filename as
select fname from file_list where fname contains ".txt";
select count(DISTINCT fname) into :num_files from filename;
select distinct fname into :filein1 - :filein%left(&num_files) from filename;
create table name as
select compress( scan(fname,1,"."),"&","i" )as fname from filename;
select compress(fname," 12345abced","kis")into :name1 - :name%left(&num_files)
from name;
quit;

%macro fileread;
%do j=1 %to &num_files;
proc import datafile="&datadir.\&&filein&j." out=&&name&j. dbms=csv replace;
getnames=yes;
datarow=2;
guessingrows=32767;
run;
%end;
%mend fileread;
%fileread;

 

/*Now I import three monthly data into SAS. */

%macro outdata;

%if &report="Cumulative" %then %do;

data cdata;

set data10 - data12;

run;

%end;

%else %do;

data cdata;

set data12;

run;

%end;

%mend;

%outdata;

 

But it seems that SAS ignore the condition: &report="Cumulative".

Any help is appreciated.

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

you don't need double quotes  here %if &report="Cumulative" 

 

%if &report=Cumulative 

View solution in original post

1 REPLY 1
novinosrin
Tourmaline | Level 20

you don't need double quotes  here %if &report="Cumulative" 

 

%if &report=Cumulative 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 1077 views
  • 0 likes
  • 2 in conversation