全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3405 3
2009-09-03
悬赏 3 个论坛币 已解决
急求各位高手来指教
     我现在有类似这样一份数据,举例:
FAMILY_NOITEM_NAMECOSTS
4307030620010014注射费14
4307030620010014B超58
4307030620010014诊疗费22
4307030620010015诊疗费22
4307030620010016护理费74
4307030620010016床位费14
4307030620010016维生素B22.6
4307030620010016氯化钠0.7
4307030620010017葡萄糖酸钙10.8
等等....一千多个数据我已通过EXCEL导入到SAS里,
我想通过转置的方式把各种费用作为变量,FAMLY_NO这个变量里每个编号的COSTS作为一条记录;即要转化成这样的结果:
FAMILY_NO注射费B超 诊疗费 护理费 床位费 等等...
430703062001001414582200
430703062001001522
43070306200100167474
4307030620010017
等等....
然后,把维生素B2、氯化钠、葡萄糖酸钙等归为药费这一个变量;B超等归纳为检查费这个变量....
感谢!

最佳答案

xiaosanmao 查看完整内容

如果医院收费项目不多的话,手动下吧,说实在的,我写完这段 自己都恶心了 data a; length FAMILY_NO $20. ITEM_NAME $10. ; input FAMILY_NO ITEM_NAME COSTS @@; cards; 4307030620010014 注射费 14 4307030620010014 B超 58 4307030620010014 诊疗费 22 4307030620010015 诊疗费 22 4307030620010016 护理费 74 4307030620010016 床位费 14 4307030620010016 维生素B2 2.6 4307030620010016 氯化钠 0.7 ...
二维码

扫码加我 拉你入群

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

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

全部回复
2009-9-3 10:31:35
如果医院收费项目不多的话,手动下吧,说实在的,我写完这段 自己都恶心了

data a;
length FAMILY_NO $20. ITEM_NAME $10. ;
input FAMILY_NO ITEM_NAME COSTS @@;
cards;
4307030620010014 注射费 14
4307030620010014 B超 58
4307030620010014 诊疗费 22
4307030620010015 诊疗费 22
4307030620010016 护理费 74  
4307030620010016 床位费 14  
4307030620010016 维生素B2 2.6  
4307030620010016 氯化钠 0.7  
4307030620010017 葡萄糖酸钙 10.8  
;run;
data b;
set a;
ARRAY  x(8) x1-x8;
DO i = 1 TO 8;
x(i) =0;
END;drop i item_name costs;
if item_name="注射费" then x1=costs ;
if item_name="B超" then x2=costs;
if item_name="诊疗费" then x3=costs;
if item_name="护理费" then x4=costs;
if item_name="床位费" then x5=costs;
if item_name="维生素B2" then x6=costs;
if item_name="氯化钠" then x7=costs;
if item_name="葡萄糖酸钙" then x8=costs;
run;
proc sql;
create table final as
select FAMILY_NO,
sum(x1) as x1 label= "注册费" ,
sum(x2) as x2 label= "检查费" ,
sum(x3) as x3 label= "诊疗费",
sum(x4) as x4 label= "护理费",
sum(x5) as x5 label= "床位费",
sum(x6)+sum(x7)+sum(x8) as x6 label= "药费"
from b group by family_no;
quit;
二维码

扫码加我 拉你入群

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

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

2009-9-3 10:57:21
用proc transpose可以实现吧
二维码

扫码加我 拉你入群

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

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

2009-9-3 22:06:58
用proc transpose,简单方便
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群