楼主: dxystata
1229 3

[有偿编程] 如何替换 [推广有奖]

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182306 个
通用积分
15205.2831
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291005 点
帖子
5371
精华
1
在线时间
13475 小时
注册时间
2006-6-21
最后登录
2024-4-24

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

20论坛币
复制代码
  1. data aaa;
  2. input SID$ VisitName$ xm$ value;
  3. cards;
  4. C001 V1   rbc 5.5
  5. C001 V1_1 rbc 5.0
  6. C001 V2   rbc 5.2
  7. C001 V3   rbc 4.5
  8. C001 V1   wbc 11
  9. C001 V1_1 wbc 9
  10. C001 V2   wbc 12
  11. C001 V2_1 wbc 8
  12. C001 V3   wbc 4.5
  13. C002 V1   rbc 4.2
  14. C002 V2   rbc 5.6
  15. C002 V2_1 rbc 3.9
  16. C002 V3   rbc 4.0
  17. ;
  18. run;
复制代码




rbc V1的值用V1_1的值替换
rbc V2的值用V2_1的值替换

wbc V1的值用V1_1的值替换
wbc V2的值用V2_1的值替换


指标比较多,如何批量替换?谢谢!

关键词:Data RBC
沙发
dxystata 发表于 2017-8-9 10:10:13 |只看作者 |坛友微信交流群
继续求助!

使用道具

藤椅
popodan 在职认证  发表于 2017-8-9 12:58:56 |只看作者 |坛友微信交流群
这个题好玩

proc sort data=aaa out=bbb;
by sid xm descending VisitName ;
run;

data ccc;
set bbb;
if substr(strip(visitname),3,1)='_'
then a=value;
b=lag(a);
if b ne . then value=b;
drop a b;
run;


2017-08-09.png (177.08 KB)

2017-08-09.png

使用道具

板凳
lvmuqu 发表于 2017-8-10 08:04:14 |只看作者 |坛友微信交流群
一个人的指标同一个访视有多个测量?可以用SQL并回去,并的条件视VisitName内容而定。

proc sql undo_policy=none;
        create table a as
                select a.*,b.value as value_1
                from aaa as a
                left join aaa(where=(index(VisitName,"_"))) as b
                on a.SID=b.SID and a.XM=b.XM and a.VIsitName=scan(b.VisitName,1,'_')
        ;
quit;
data a;
        set a;
        if ^missing(value_1) then value=value_1 ;
        drop value_1;
run;

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 20:10