SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1307|回复: 4
打印 上一主题 下一主题

程序求助,等高手,多谢多谢!

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-12-15 08:35:58 | 只看该作者

程序求助,等高手,多谢多谢!

贸易数据格式举例如下(为贸易数据):
有不同的进口方,不同的出口方,不同的商品。年份连续或者不连续。
同时进口方为多个,出口方为多个,产品类别多个。
相同进口出口方和商品的,归为同一组。其中年份连续的各项(即相同进口方、出口方以及相同商品的并且年份连续的)归为同一段。
进口方 出口方 产品类别 年份 分段 分组
001 0024 01010101 1990 1 1
001 0024 01010101 1991 1 1
001 0024 01010101 1994 2 1
001 0024 01010101 1995 2 1
001 0024 01010101 1996 2 1
001 0024 02020220 1993 3 2
001 0024 02020220 1994 3 2
001 0024 02020220 1995 3 2
001 0036 01010101 1996 4 3
001 0036 01010101 1997 4 3
001 0036 02020220 1998 5 4
001 0036 02020220 2001 6 4
002 0024 01010101 1991 7 5
002 0024 01010101 1994 8 5
002 0035 01010101 1995 9 6
002 0035 02000000 1993 10 7
002 0035 02000000 1994 10 7
002 0035 02000000 1998 11 7
002 0038 02020220 1993 12 8
002 0038 02020220 1994 12 8
002 0038 02020220 1995 12 9
003 0024 01010101 1996 13 10
003 0036 02020220 1993 14 11
003 0036 02020220 1994 14 11
003 0038 02020220 1995 15 12
.
.
.


另外我有发生银行危机数据(多个出口方,多个年份)
出口方 年份
0024 1994
0035 1996
0036 1998
0038 1995
。。。

我需要生成两个状态变量。STATUS和TREAT
出口方无银行危机数据 或者贸易分段不包括银行危机年份的  STATUS=1 TREAT=0

出口方每段贸易数据年份区间包括银行危机年份的, 每段的最后年份等于银行危机年份的(比如分段=12) STATUS=1 TREAT=1
每段的最后年份不等于银行危机年份的(比如分段=2) STATUS=0 TREAT=1
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-12-15 22:17:45 | 只看该作者

Re: 程序求助,等高手,多谢多谢!

你把数据多弄一点,数据太少的话编出来的程序也不好得到检验。把意思说明白些。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-5-18 21:53:42 | 只看该作者

Re: 程序求助,等高手,多谢多谢!

data ads;
input ex im type year rn group;
retain x y z 0;
if ( ex^=lag(ex) | im^=lag(im) | type^=lag(type) ) then x+1;
if ( abs(dif(year))>1 ) then y+1;
if ( x^=lag(x) | y^=lag(y) ) then z+1;
cards;
001 0024 01010101 1990 1 1
001 0024 01010101 1991 1 1
001 0024 01010101 1994 2 1
001 0024 01010101 1995 2 1
001 0024 01010101 1996 2 1
001 0024 02020220 1993 3 2
001 0024 02020220 1994 3 2
001 0024 02020220 1995 3 2
001 0036 01010101 1996 4 3
001 0036 01010101 1997 4 3
001 0036 02020220 1998 5 4
001 0036 02020220 2001 6 4
002 0024 01010101 1991 7 5
002 0024 01010101 1994 8 5
002 0035 01010101 1995 9 6
002 0035 02000000 1993 10 7
002 0035 02000000 1994 10 7
002 0035 02000000 1998 11 7
002 0038 02020220 1993 12 8
002 0038 02020220 1994 12 8
002 0038 02020220 1995 12 9
003 0024 01010101 1996 13 10
003 0036 02020220 1993 14 11
003 0036 02020220 1994 14 11
003 0038 02020220 1995 15 12
;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2012-5-19 10:03:10 | 只看该作者

Re: 程序求助,等高手,多谢多谢!

[code:thdaagdr]data maoyi;
        length ex $3 im $4 type $8 year 8;
        label ex='进口方' im='出口方' type='产品类别' year='年份';
        infile cards dsd missover dlm=' ';
        input  ex im type year;
        cards;
001 0024 01010101 1990 1 1
001 0024 01010101 1991 1 1
001 0024 01010101 1994 2 1
001 0024 01010101 1995 2 1
001 0024 01010101 1996 2 1
001 0024 02020220 1993 3 2
001 0024 02020220 1994 3 2
001 0024 02020220 1995 3 2
001 0036 01010101 1996 4 3
001 0036 01010101 1997 4 3
001 0036 02020220 1998 5 4
001 0036 02020220 2001 6 4
002 0024 01010101 1991 7 5
002 0024 01010101 1994 8 5
002 0035 01010101 1995 9 6
002 0035 02000000 1993 10 7
002 0035 02000000 1994 10 7
002 0035 02000000 1998 11 7
002 0038 02020220 1993 12 8
002 0038 02020220 1994 12 8
002 0038 02020220 1995 12 9
003 0024 01010101 1996 13 10
003 0036 02020220 1993 14 11
003 0036 02020220 1994 14 11
003 0038 02020220 1995 15 12
;
run;
data result(drop=lag);
        set maoyi;
        by ex im type year;
        lag=lag(year);
        if first.type then do;rn+1;group+1;end;
        else if year^=lag+1 then rn+1;
        label rn='分段' group='分组';
run;[/code:thdaagdr]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2012-7-11 13:45:12 | 只看该作者

Re: 程序求助,等高手,多谢多谢!

做个记号! <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-6 13:06 , Processed in 0.068792 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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