每个分隔符的宏变量,用于在SAS中导入多个分隔文件

时间:2018-04-25 09:02:40

标签: macros sas

我有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);

2 个答案:

答案 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);