SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

编流水号之问题?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-7-24 00:39:34 | 只看该作者

编流水号之问题?

请教各位前辈高手,我想在档案中建立一序号的变量,不知语法该怎么写呢?

以时间为编号之标准,相同则编序号(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

请各位前辈高手提供建议,谢谢各位!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-7-24 08:55:39 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-7-25 00:34:14 | 只看该作者

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

请各位前辈高手提供建议,谢谢各位!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-7-25 07:23:37 | 只看该作者

Re: 编流水号之问题?

i think hopewell has already solve your problem
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 01:40 , Processed in 0.067334 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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