SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 692|回复: 1
打印 上一主题 下一主题

SAS数据管理TIPS----标签的应用

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 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;
/*如果定义字符标签需要在字符标签格式前面加上$*/
欢迎大家批评指正!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-4-26 22:25:22 | 只看该作者

改正错误

  数据集的标签:
 [color=red:6aa95]data a (label='my dataset'); [/color:6aa95]注意!
I'm learning!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-8 06:02 , Processed in 0.097815 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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