如何将变量名带空格的Excel数据导入SAS并保留原变量名
解决方案
SAS默认不支持带空格的变量名是因为系统参数VALIDVARNAME默认值为V7,仅允许变量名包含字母、数字和下划线,仅需修改该参数即可实现保留原Excel带空格的变量名。
完整操作代码
/* 开启允许含特殊字符/空格的变量名规则 */ options validvarname=any; /* 原有导入代码无需修改 */ proc import datafile='/home/roshnigupta16020/test (2).xlsx' out=testexcel dbms=xlsx replace; getnames=yes; run;
后续使用说明
导入完成后,调用带空格的变量时需要使用'变量名'n的名称字面量格式,示例如下:
/* 打印Shop Name字段的所有数据 */ proc print data=testexcel; var 'Shop Name'n; run;
注意事项
- 如需恢复SAS默认的变量名规则,执行
options validvarname=v7;即可,此时原有带空格的变量名会自动将空格替换为下划线,例如Shop Name转为Shop_Name - 无论是否开启该参数,SAS变量名最大长度限制为32个字符,超过部分会自动截断
内容的提问来源于stack exchange,提问作者Roshni Gupta
相关产品推荐
相关产品推荐

