SAS中文论坛

标题: 编流水号之问题? [打印本页]

作者: shiyiming    时间: 2010-7-24 00:39
标题: 编流水号之问题?
请教各位前辈高手,我想在档案中建立一序号的变量,不知语法该怎么写呢?

以时间为编号之标准,相同则编序号(1, 2, 3, 4, ….), 而当时间变化时,序号则重新计算。(原本是没序号这栏的,而我想再加上这一字段但不会写!!)
ps:可以不使用先排序的方法吗,因为一排序后面的数据会跟着乱掉!

原来内容                变更后的内容
日期        时间        變成→        日期        时间        序号
20010102        100102                 →        20010102        100102        1
20010102        100102            →        20010102        100102        2
20010102        100102           →        20010102        100102        3
20010102        100102           →        20010102        100102        4
20010102        100125           →        20010102        100125        1
20010102        100125           →        20010102        100125        2
20010102        100125           →        20010102        100125        3
20010102        100225           →        20010102        100225        1
20010102        100225           →        20010102        100225        2

请各位前辈高手提供建议,谢谢各位!!
作者: shiyiming    时间: 2010-7-24 08:55
标题: Re: 编流水号之问题?
[code:2upnqxlm]data raw(drop=temp);
        input date yymmdd8. temp;
        time=hms(int(temp/10000),int(mod(temp,10000)/100),mod(temp,100));
        format date yymmdd10. time time8.;
datalines;
20010102 100102 20010102 100102 1
20010102 100102 20010102 100102 2
20010102 100102 20010102 100102 3
20010102 100102 20010102 100102 4
20010102 100125 20010102 100125 1
20010102 100125 20010102 100125 2
20010102 100125 20010102 100125 3
20010102 100225 20010102 100225 1
20010102 100225 20010102 100225 2
;

data raw;
        set raw;
        by date time;
        if first.time then no=1;
        else no+1;
run;[/code:2upnqxlm]
作者: shiyiming    时间: 2010-7-25 00:34
标题: Re: 编流水号之问题?
我重新再叙述一次我的问题,我想在档案中建立一编码的变量,不知语法该怎么写呢?

以时间为编号之标准,相同则编序号(1, 2, 3, 4, ….), 而当时间变化时,序号则重新计算。(原本是没序号这栏的,而我想再加上这一字段但不会写!!)

原来内容                变更后的内容
日期        时间        變成→        日期        时间        序号
20010102        100102           →        20010102        100102        1
20010102        100102           →        20010102        100102        2
20010102        100102           →        20010102        100102        3
20010102        100102           →        20010102        100102        4
20010102        100125           →        20010102        100125        1
20010102        100125           →        20010102        100125        2
20010102        100125           →        20010102        100125        3
20010102        100225           →        20010102        100225        1
20010102        100225           →        20010102        100225        2

请各位前辈高手提供建议,谢谢各位!!
作者: shiyiming    时间: 2010-7-25 07:23
标题: Re: 编流水号之问题?
i think hopewell has already solve your problem




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