单独一条format语句可以调用替换格式,从而加强输出的信息。但是它所能调用的替换格式种类有限,常用的有两种:第一种是规定时间变量值的替换格式,第二种是规定数值变量值的替换格式。
format语句的一般形式是:
3.6节中介绍的时间变量值的替换格式可以把时间表示变为整数值。该替换格式同样可以把时间变量值(整数值)输出为常用的时间表示。
例5.4 按照中国传统,满月和百日是两个值得纪念的日子。已知女儿和母亲分别出生在05/13/2015和06/22/1980。现在希望知道她们出生之后的第100天各是哪一天,设计一个SAS程序算出来。
解 输入时的替换格式会把05/13/2015和06/22/1980转化为整数值,把它们加100后得到两个新整数值,再用输出时的替换格式求出这两个新整数值的实际时间即可。
采用如下程序:
提交程序后得到的输出是:
可见女儿和母亲的百日分别是08/21/2015和09/30/1980。
这儿的format语句在数据步中被调用。也可以不在数据步中调用,而在加工步调用format语句。如果例5.4改在加工步(proc print)中调用format语句,可以采用程序如下:
这儿“proc print;”语句是加工步,format语句没有出现在数据步中,而是出现在加工步中。提交程序后得到的结果和数据步中添入format语句的效果一样。前面已经指出,尽量采用在数据步调用format语句的方式。(www.xing528.com)
除时间的替换格式外,另一常用的替换格式是数值的替换格式:
(1)科学输出法:替换格式为“BESTw.”,其中w是输出的字符串长度,包括E和指数的正负号。
(2)要求输出的数中千位、百万位等用逗号隔开:替换格式为“COMMAw.”,其中w是输出的字符个数,包括逗号。
(3)美元计数,要求输出美元符号“$”:替换格式为“DOLLARw.”,其中w是输出的字符宽度。
(4)限制小数位:替换格式为“w.d”,其中w是全部数字的位数,d是四舍五入后的小数位数。输出替换格式如表5-2所示。
表5-2 4种输出替换格式
例5.5 现有4个数:123456789,2345678,3456789,215.671。要求按照以下替换格式输出:科学输出法,用逗号分开,美元计数,限制字宽7,其中小数点后2位。
解 使用如下程序:
提交后得到的结果是:
练习题 对于4.1.1节的练习题,使用SAS代码计算之,要求输出常用日期形式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。