我有2个不同的分隔文件(csv和文本),分别具有以下变量。前3个是字符变量,其余是数字变量:植物,类型,处理,浓缩,摄取。文本文件有5个数字变量和一个字符变量。我想使用宏变量为SAS中的每个分隔符导入这两个文件,作为练习的一部分。 我有下面的代码使用宏提取多个文件。我想就如何为每个分隔符(csv,text)创建一个宏变量提出建议。
%macro one (output, Sample);
proc import out=output
datafile= "C:\Users\komal\Desktop\Sample.csv"
dbms=csv replace;
getnames=yes;
run;
%mend one;
%one (output, Sample.csv);
%one (data2, datafiletwo.txt);
答案 0 :(得分:1)
导入不同类型的数据,因此需要在dbms中定义数据类型。
%macro one (output, Sample,type);
proc import out=&output
datafile= "C:\Users\komal\Desktop\&Sample"
dbms=&type replace;
getnames=yes;
run;
%mend one;
%one (output, Sample.csv,cvs);
%one (data2, datafiletwo.xlsx,excel);
%one (class, class.txt,tab);
答案 1 :(得分:0)
感谢盛林
我已尝试过以下代码,效果很好。
%macro one (a, b, c);
proc import out=&a
datafile= "C:\Users\komal\Desktop\&b"
dbms=&c replace;
getnames=yes;
run;
%mend one;
%one (outcsv, Sample.csv, csv);
%one (outtab, datafiletwo.txt, tab);