Import SAS:有趣的Excel导入差异

Import SAS:有趣的Excel导入差异,import,sas,proc,sas-studio,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:

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

我不知道在使用proc导入时应用信息的方法-这是一种迟钝的工具。您只需在宏中添加一个简短的数据步骤,如:

[proc import block]

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

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

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