SAS中文论坛

标题: 请教:如何读取一个时间变量的前n位生成一个新变量? [打印本页]

作者: shiyiming    时间: 2003-11-27 16:27
标题: 请教:如何读取一个时间变量的前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: -->
作者: shiyiming    时间: 2003-11-27 16:49
刚才找了一下,:)

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)该如何进行呢?
作者: shiyiming    时间: 2003-11-29 09:34
proc print;
by hour;
run;
作者: shiyiming    时间: 2003-12-5 13:42
thanks先
我希望要的是分类汇总的总数(by hour)




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2