0

我正在从 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 中丢失了我的自定义格式,它恢复为无默认、无前导零的格式 - 有没有办法解决这个问题?

4

1 回答 1

0

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

[proc import block]

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

%Mend;

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

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

于 2018-08-08T05:04:19.630 回答