SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 991|回复: 3
打印 上一主题 下一主题

请教:如何读取一个时间变量的前n位生成一个新变量?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-11-27 16:27:55 | 只看该作者

请教:如何读取一个时间变量的前n位生成一个新变量?

现有3个变量:
id  date   time  
1   1102  080115
2   1102  080305
3   1102  090508
...
n   1105   175840

说明:id: 操作流水
      date:日期,4位,1102是11月2日
      time:时间,8位,080115表示8点01分15秒

现在想读取time变量的前2位,生成一个新的变量hour,如读取第一个time(080115)生成hour(08),然后按照hour进行汇总,请各位大虾指教。
thanks <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-11-27 16:49:08 | 只看该作者
刚才找了一下,:)

data t1;
input id date time $;
cards;
1 1102 080115
2 1102 080305
3 1102 090508
;
run;

data t2;
    set t1;
hour=SUBSTR(LEFT(time),2,1);
run;

那剩下分类汇总(by  hour)该如何进行呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-11-29 09:34:53 | 只看该作者
proc print;
by hour;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-12-5 13:42:01 | 只看该作者
thanks先
我希望要的是分类汇总的总数(by hour)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-7 12:13 , Processed in 0.688166 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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