SAS:有趣的Excel导入差异

时间:2018-08-07 13:11:59

标签: import sas proc sas-studio

我正在从excel导入一个文件,如下所示:

Row Col Bucket
1   2   01
2   2   00

%Macro ImportExcel(DF = , OF = , Type = , SheetName = );

proc import datafile = &DF 
out = &OF dbms = &Type replace;
sheet = "&Sheetname";
run;

%Mend;
%ImportExcel(DF = "C:\Users\89974114\Documents\Book1.xlsx" , OF = Book1 ,     TYPE = xlsx , SheetName = Sheet1);

当我导入文件时,数据集看起来像这样

Row Col Bucket
1   2   1
2   2   0

从本质上讲,我从excel中丢失了自定义格式,并且它恢复为无默认值,无前导零的格式-可以解决此问题吗?

1 个答案:

答案 0 :(得分:0)

我不知道在使用proc导入时应用信息的方法-这是一种钝器。您可以简单地在宏中添加一个简短的数据步骤,例如:

[proc import block]

data &OF ;
  set &OF ;
format Bucket z2.;
run;

%Mend;

或者,如果要将其转换为字符串,请将格式行更改为BucketC = put(Bucket,z2.);

编辑:当然,更好的方法是使用PROC DATASETS来修改格式,但这对我的笨脑来说太明显了。