楼主: bananacindy
1334 3

关于在modify语句中通过含有重复值的transaction数据集来更新数据的问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

93%

还不是VIP/贵宾

-

威望
0
论坛币
757 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
517 点
帖子
50
精华
0
在线时间
169 小时
注册时间
2013-4-20
最后登录
2020-6-5

楼主
bananacindy 发表于 2015-4-3 02:23:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. data a;
  2. input x y;
  3. cards;
  4. 1 10
  5. 2 20
  6. 3 30
  7. ;
  8. run;
  9. data b;
  10. input x y;
  11. cards;
  12. 1 11
  13. 2 22
  14. 2 222
  15. 2 2222
  16. ;
  17. run;

  18. data a;
  19. modify a b;
  20. by x;
  21. run;
复制代码

    在上面这段程序中,作为transaction数据集的b中有三个x=2,按照Modify语句的规则,会用这其中的最后一条(即y=2222那条)来更新master数据集a。请问如果我希望将这三条都保留下来一起用于更新,即希望最终结果为下面这样,应该怎么写程序呢(还是希望利用modify指令,先不考虑改用sql等方法)?:
1 11
2 22
2 222
2 2222
3 30


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Transaction Action modify Trans Mod modify sas duplicate

沙发
mingfeng07 学生认证  发表于 2015-4-3 09:15:01
  1. proc sql;
  2. create table c as select * from ( select * from a where a.x not in (select distinct b.x from b))
  3.                            union select * from b;
  4. quit;
复制代码

藤椅
bananacindy 发表于 2015-4-3 14:10:04
谢谢回复。我知道用sql、set指令等都可以完成这个任务,但我想知道的是,如果一定要用modify的话,能通过调整某些参数设置实现这个目的吗?毕竟它的运行效率是更高的。

板凳
learsaas 发表于 2015-4-3 14:50:41
截止到sas9.1.3,个人能力范围内,无解。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 05:41