首页 文章

SAS:将带有循环计数的数据集更改为append语句

提问于
浏览
1

主题:将带有循环计数的数据集更改为append语句

我有一个宏将循环并创建一个后面有一个计数器的新数据集 .

像这样的代码:

PROC IMPORT OUT = WORK.out&i DATAFILE =“&dir /&name”/ excelout / DBMS = csv REPLACE;分隔符='09'x; getnames =无;跑;数据测试&i(drop =%do k = 1%to&cnt; && col&k ..%end;);长度电台10美元电压10年8个月20美元变压器10美元20美元日期时间MW_Imp MW_Exp MVAR_Imp MVAR_Exp MVA Power_Factor 8;格式时间hhmm . ;出发&我 . 端=上;

目前,如果PROC IMPORT有4个外部文件,脚本将生成大约4个数据集 .

我想要的是消除多个数据集的创建,但只是将它们附加到主文件中 . 有办法吗?

2 回答

  • 0

    循环内的append语句应足以实现此目的 . SAS将第一个数据集复制为基础,因为它不存在 .

    proc append base=test data=test&i force; run;
    
  • 0

    添加可能同样简单,但如果您不存储在包含其他类似命名文件的文件夹中 . firstobs-option在我的测试中引起了som问题,但是由于你在导入中指定了 getnames=no ,我想你不需要它 .

    下面的代码段输入c:\ test中的所有csv文件 .

    data test;
        infile "c:\test\*.csv" dsd delimiter='09'x;
        input varA $ varB $;
    run;
    

相关问题