楼主: librarynow
2843 4

[原创博文] 怎样替换一些变量的值 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
945 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
1963 点
帖子
120
精华
0
在线时间
170 小时
注册时间
2010-4-9
最后登录
2016-1-9

楼主
librarynow 发表于 2011-11-29 11:51:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有两个表,一个小表,它的结构是:
old_intervention_code new_intervention_code
1abc
1efg
5cde5xyz
另一个大表有非常多的变量,但是就intervention_code来说,有20个,即intervention_code_01 - intervention_code_20。
小表中的old_intervention_code的值会出现在这01 到20的变量中。我想做的事情是把大表中的,与小表的old_intervention_code值相同的intervention_code_{i}都换成小表中对应的new_intervention_code的值。

我写了一点,但是发现并没有实现替换。请各位帮忙看看。谢谢大家!
data intervention_code_replaced;
set code_map (obs=1);
declare hash ht (hashexp:16, dataset: "code_map");
        ht.definekey('old_intervention_code');
        ht.definedata('new_intervention_code');
        ht.definedone();
do until (eof);

  set thebigtable end=eof;

    if ht.find()=0 then do;
      ht.replace();
     
output intervention_code_replaced;
   
end;end;
stop;
run;

二维码

扫码加我 拉你入群

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

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

关键词:intervention replace Defined dataset DEFINE

沙发
ademons 发表于 2011-12-1 15:28:28
你的这个hash表是个空表。自然不能替换。

用data step modify更简便些。

藤椅
qh93Tz8s 发表于 2011-12-7 05:59:39
谢谢楼主

板凳
v55lt9Ea 发表于 2011-12-10 05:25:15
路过,支持一下

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

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