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)
If I understand correctly, you need another leading ampersand in 1559:
set &&file&i;
If I understand correctly, you need another leading ampersand in 1559:
set &&file&i;
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.
try changing
infile "c:\x.&i.txt";
to
infile "c:\x&i..txt";
THANKS IT WORKED !!!!
infile "C:\X&i..txt";
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.
Thanks worked !
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
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 lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.