SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 585|回复: 1
打印 上一主题 下一主题

根据要求对变量赋值

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-6-30 10:41:45 | 只看该作者

根据要求对变量赋值

现有数据集X,中有两个变量 M N,形式如下:
M  N
1   A
1     
1      
2      
2   B
2     
3   
3
3   C
现要求当M值相同时,N的值就都附上已存在的那个值,即:
M  N
1   A
1   A
1   A
2   B
2   B
2   B
3   C
3   C
3   C
请教各位大侠应该如何编程?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-6-30 15:38:03 | 只看该作者

Re: 根据要求对变量赋值

[code:3akik8dk]data a;
input m n $;
cards;
1 A
1 .
1 .
2 .
2 B
2 .
3 .
3 .
3 C
;
run;
/*method I*/
proc sort data=a out=b;
by m descending n;
run;
data b2(drop=n rename=(nn=n));
retain m nn;
  set b;
  by m descending n;
  if first.m then nn=n;
run;
/*method II*/
proc sql;
create table b3(drop=nn) as
  select *,max(nn) as n
    from a(rename=(n=nn))
   group by m;
run;[/code:3akik8dk]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 05:54 , Processed in 0.066602 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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