- **目的:**用SAS导入sheet为dd的从第二行开始的excel数据。
- **数据:**如下图
- 错误的code:
proc import datafile="E:\project\edc.xlsx"
out=dd dbms=xlsx replace;
getnames=yes;
sheet="dd";
datarow=2;
run;
- 正确的code:
proc import datafile="E:\project\edc.xlsx"
out=dd dbms=xlsx replace;
getnames=yes;
range="dd$A2:0";
run;
上面code为何错呢?按道理来说设置了datarow=2,getnames=yes,理论上第2行的将作为变量名,但为何变量名依旧是第一行的数据呢?
- 释疑:
从SAS Help中可以看到,getnames代表是否将第1行作为out数据集的变量名,与datarow并不一一对应,他们是两个独立的语句。如下图:当getnames=yes和no时从第3行开始读取数据,得到如下结果。
当dbms换成excel又如何呢?
会报错!!