- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I really need help with this !
i need to receive 3 files into a macro ( english comp and sat ) . i have written it but have a small problem with calling a file in a loop . you can see below . hope someone can help me please . no sure what i should put on line 1559 because "file" is part of the macro and also "i". maybe my input is not correct ....
1555 %macro cg (file1,file2,file3);
1556 options mprint symbolgen mlogic;
1557 %do i = 1 %to &3;
1558 data cg&i;
1559 set &file&i;
1560 f&i= (x*m)/100;
1561 %end;
1562 run;
1563 %mend;
1564
1565 %cg (math, english, sat)
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If I understand correctly, you need another leading ampersand in 1559:
set &&file&i;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If I understand correctly, you need another leading ampersand in 1559:
set &&file&i;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
thank you it worked!!!! could you please help me with this :
i need to receive 3 files X1 X2 and X3
trying to do it in a Marco but i have a problem with the loop and the sequence, i have tried so many differnt things ways its driving me mad ... thanks ... CL
%macro avgofzt;
%do i=1 %to 3;
data a&i;
infile "c:\X.&i.txt";
id=1;
ERROR: Physical file does not exist, c:\X.1txt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
try changing
infile "c:\x.&i.txt";
to
infile "c:\x&i..txt";
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
THANKS IT WORKED !!!!
infile "C:\X&i..txt";
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Sure. 2 dots after the &i:
infile "c:\x.&i..txt";
The 1st dot terminates macro replacement, and the second is the literal "." before the extension.
I'm glad my earlier response helped. Good luck.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks worked !
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data math english sat;
do x=1 to 5;
do m=2 to 6;
output;
end;end;
run;
options mprint symbolgen mlogic;
%macro cg (file1,file2,file3);
%do i = 1 %to 3;
data cg&i;
set &&file&i;
f&i= (x*m)/100;
run;
%end;
%mend;
%cg (math, english, sat)
Linlin