首页 理论教育 SAS基础技巧:自定义替换格式方法

SAS基础技巧:自定义替换格式方法

时间:2023-08-10 理论教育 版权反馈
【摘要】:format过程可以有若干条value语句,每条语句建立一个替换格式,把一个变量值的各种数字或字符转换为相应字符串,从而增加该输出变量值的信息。format过程的一般形式是:以上列出3条value语句,每条value语句建立一个类型的变量替换格式。$name1,name2,name3称为替换格式名。

SAS基础技巧:自定义替换格式方法

编写程序时通常用一些简单数字或字母代表复杂含义的变量值。比如1代表Zhanxiaosan Co.Ltd.(张小三股份有限公司),2代表Lilaosi Co.Ltd.(李老四股份有限公司),3代表Wangdawu Co.Ltd.(王大五股份有限公司)。这样的程序提交后,输出的变量值中,数字1、2、3等使人不好理解,希望在SAS输出中把数字1、2、3换成相应的复杂字符(例如公司名),也可能要求换成中文字符。单独一条format语句却只能按固定格式转换,不能完成这样的任务。一般地,常常需要把一些数据集中的简单数字或字符在输出中转换成复杂的字符串,这不可能用单独一条format语句完成。format过程却可以自行创建替换格式,在加工步或数据步通过format语句引用这些格式,就能把这些简单数字或字符在输出中转换成新变量值——复杂的字符串,从而加强输出变量值的信息,或者说揭示变量值所具备的信息。

format过程可以有若干条value语句,每条语句建立一个替换格式,把一个变量值的各种数字或字符转换为相应字符串,从而增加该输出变量值的信息。format过程的一般形式是:

以上列出3条value语句,每条value语句建立一个类型的变量替换格式。实际format过程中可以有多条这3种类型的value语句。$name1,name2,name3称为替换格式名。格式名不能与已有的格式名冲突,格式名长度不能超过32个字节,不能以数字结尾,除了下划线外不能包含其他任何特殊符号。替换后的新变量值(即新变量值1,新变量值2,……新变量值m1,新变量值m2,……)可以很长,理论上能长达32767个英文字符,这样长的字符串足以给出丰富的信息。

当变量值是字符串时,替换格式名必须以“$”开头。语句“value$name 1 'A'='新变量值1';'B'='新变量值2'……;”规定把字符串A,B……变成更复杂字符串的'新变量值1','新变量值2'……语句中A,B……是原数据集中变量的值,'新变量值1'……是想替换成的字符串(其中可以包括汉字字符),$name1是替换格式名。

语句“value name2 1='新变量值3' 2='新变量值4'……;”中1,2,……是原数据集中离散数值变量的值,'新变量值3'……是复杂字符串(包括中文字符串),name2是替换格式名。(www.xing528.com)

语句“value name3 范围1='新变量值m1' 范围2='新变量值m2' 范围3='新变量值m3'……;”确定连续数值变量的替换格式。范围1,范围2,……是原数据集变量可能取值的不同范围,通常是区间。例如范围1是区间[0,2],当原数据集变量值在某个范围时,替换成相应新变量值。例如变量的值是1.5,属于区间[0,2],那么变量值1.5在输出时就要换成'新变量值m1'。name3是替换格式名。

对应于format过程自行创建的格式,可以在加工步或数据步使用format语句,它的一般形式是:

它的作用是:把变量1的变量值换成$name1规定的格式输出,把变量2的变量值换成$name2规定的格式输出,把变量3的变量值换成name3规定的格式输出……

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈