|
楼主

楼主 |
发表于 2004-4-25 23:27:49
|
只看该作者
SAS数据管理TIPS----标签的应用
在任何数据库的使用过程中,为了能更加有效方便的使用自己的数据,我们就需要给它们加上必要的标签或注释,本TIP仅介绍SAS中标签的使用方法,包括数据集标签、变量名标签和变量值标签。
示例数据集:
proc print data=a;
run;
结果如下:
The SAS System 22:03 Sunday, April 25, 2004 2
Obs year sales cost profit
1 1981 12132 11021 1111
2 1982 19823 12928 6895
3 1983 16982 14002 2980
4 1984 18432 14590 3842
我们可以看到上面的输出结果中无任何标签!!!!
1.数据集标签:
data a;
[color=red:21806]title “my dataset”;[/color:21806] input year sales cost;
cards;
1981 12132 11021
1982 19823 12928
1983 16982 14002
1984 18432 14590
;
proc print;
run;
结果如下:
[color=red:21806] my dataset [/color:21806]23:17 Sunday, April 25, 2004 3
Obs year sales cost
1 1981 12132 11021
2 1982 19823 12928
3 1983 16982 14002
4 1984 18432 14590
2.变量标签:我们可以使用label语句在data step和proc step命名变量标签,二者的区别是前者的标签可以在任何使用该数据集的procedures中使用,而后者仅在当前步有效。
data b;
set a;
[color=red:21806]label year=”年份”
sales=”销售额”
cost=”价格”;[/color:21806]run;
PROC CONTENTS DATA=b;
RUN;
结果如下:
--Alphabetic List of Variables and Attributes-----
# Variable Type Len Pos Label
---------------------------------------------
3 cost Num 8 16 价格
4 profit Num 8 24
2 sales Num 8 8 销售额
1 year Num 8 0 年份
**结果中出现了变量标签**
3.变量值标签:
变量值标签的创建需要两步:
1.用value语句在PROC FORMAT;中创建标签格式
2.把创建的标签格式用FORMAT语句赋给相应的变量,该FORMAT语句可 以用在proc or data steps。
/* Step 1 */
PROC FORMAT;
VALUE yearl 1981="m"
1982="n"
1983=”o”
1984=”p”
;
**字符型变量在定义值标签时,要在标签格式前面加$*;
/*step 2*/
PROC FREQ DATA=b;
FORMAT year yearl[size=150:21806][color=red:21806].[/color:21806][/size:21806]; /*此处句点很重要,没有它就无法生成变量值标签*/
table year;
RUN;
/*如果定义字符标签需要在字符标签格式前面加上$*/
欢迎大家批评指正! |
|