设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4731|回复: 0

SAS 名(SAS Names)及其命名规则

[复制链接]

4

主题

47

金钱

72

积分

新手用户

发表于 2018-9-28 10:42:12 | 显示全部楼层 |阅读模式

SAS 名有两种:

  • 系统保留的 SAS 名;
  • 用户自定义的 SAS 名。

SAS 语句中,可能出现的SAS 名有变量名、数据集名、输入及输出格式名、过程名、选项名、函数名、数组名、SAS 宏及宏变量名、SAS 目录条目名、逻辑库名、逻辑库引用名和文件引用名。

例如,

  1. 1 /****************************\
  2. 2 | 10名学龄儿童的身高体重资料 |
  3. 3 \****************************/
  4. 4 OPTIONS nodate number=0;
  5. 5 DATA SASTJFX48_1;
  6. 6 INPUT name $ height weight @@;
  7. 7 BMI=weight/(height/100)**2;
  8. 8 LABLE BMI=‘body mass index’;
  9. 9 DATALINES; 25 ODS HTML CLOSE;
  10. 10 WangHB 149.4 30.8 WuCJ 167.6 46.6
  11. 11 ChenF 146.3 33.1 GaoSY 170.7 44.0
  12. 12 ZhanZL 161.5 36.3 LiYZ 164.6 40.8
  13. 13 ShenJJ 155.5 36.7 ZhaoJH 158.5 35.4
  14. 14 ZhangHX 149.4 33.1 WangXS 156.4 31.8
  15. 15 ;
  16. 16 RUN;
  17. 17 ODS HTML;
  18. 18 PROC MEANS data=SASTJFX48_1;
  19. 19 VAR bmi;
  20. 20 OUTPUT out=result mean=BMImean;
  21. 21 RUN;
  22. 22 PROC PRINT data=result (keep=BMImean);
  23. 23 FORMAT BMImean 4.1;
  24. 24 RUN;
  25. 25 ODS HTML CLOSE;
复制代码

程序中第5 行DATA 语句后的“SASTJFX48_1”是用户自定义的数据集名,第18 行PROC 语句后的MEANS 是SAS 保留的过程名。

用户自定义的SAS 名必须符合以下规则:

(1)SAS 名以字母或下划线开头,后续字符可以是字母、数字或下划线;

(2)SAS 名依据其使用的场合有一定长度限制,有的部位的SAS 名至多有32 个字节长度,有的部位的SAS 名至多有8 个字节长度,具体情况见表48-1;

(3)SAS 名不区分大、小写,例如BMI、Bmi、bmi 在SAS 名中都是一个词;

(4)SAS 名中不能出现空格,并且SAS 名中除了字母、数字、下划线外,不能含有其他特殊字符,如#、$、@、%等特殊字符不能出现在SAS 名中;

(5)SAS 保留了一些自动变量名及变量列表、SAS 数据集名和逻辑库引用名;

①SAS 运行时可能会自动生成一些变量,这些变量都是以下划线开头和结尾,称为自动变量(Automatic variables),不能用于用户自定义的变量名和变量列表。例如,自动变量_N_表示数据步已执行的次数,变量列表_NUMERIC_指所有数值型变量、_CHARACTER_指所有字符型变量、_ALL_指所有变量。

②SASHELP、SASUSER、WORK、SASMSG 是SAS 保留的逻辑库名,用户不能以这些名字作为自定义的逻辑库名。

③当创建SAS 数据集时,不能以_NULL_(空数据集)、_DATA_(自动数据集名)、_LAST_(新近使用的数据集名)作为名字。

(6)为外部文件规定文件引用名时不能用SASCAT。

(7)当用户建立一个宏变量时,宏变量名字不能以SYS 开头。

SAS语言元素长度限制
SAS语言元素
最大长度(字节)
数组名
32
CALL程序名
16
目录条目名
32
数据步语句标签
32
数据步变量标签
256
数据步变量名
32
数据步窗体名
32
引擎名
8
文件引用名
8
输出格式名,字符型
31
输出格式名,数值型
32
函数名
16
世代数据集名(世代组群中的存档版本数据集)
28
输入格式名,字符型
30
输入格式名,数值型
31
逻辑库引用名
8
宏变量名
32
宏窗体名
32
宏名字
32
SAS数据逻辑库成员,除了世代数据集(数据集、视图、目录、索引)
32
密码
8
过程名(前8个字符必须是唯一的,不能以SAS开头)
16
SCL变量名
32

本帖被以下淘专辑推荐:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表