楼主: liuliuqiu
1498 4

sas程序请教 [推广有奖]

  • 6关注
  • 2粉丝

已卖:35份资源

副教授

64%

还不是VIP/贵宾

-

威望
0
论坛币
2239 个
通用积分
8.1161
学术水平
3 点
热心指数
5 点
信用等级
5 点
经验
14393 点
帖子
429
精华
0
在线时间
1129 小时
注册时间
2009-3-24
最后登录
2025-12-5

楼主
liuliuqiu 发表于 2014-8-11 17:57:45 |AI写论文
5论坛币
有表a,b,含有共同的变量name,year,但b还有一个变量code,想根据name 和year将表a中添加code变量,如a   name   year               b  name    year    code
       1        2000                   1         2000    234
       1        2001                   1         2001     345
       1        2002                    2         2000      354
       2         2001                   2          2001     456
       2         2002                   3          2000     355
       3         2000                   3          2001       574
       3         2001
       4         2000
       4         2001
最后的结果是:
a   name   year              code
       1        2000            234      
       1        2001            345   
       1        2002               
       2         2001            456
       2         2002                  
       3         2000           355        
       3         2001            574
       4         2000
       4         2001

非常感谢!

最佳答案

yzsxdlcc 查看完整内容

data a; input name year; cards; 1 2000 1 2001 1 2002 2 2001 2 2002 3 2000 3 2001 4 2000 4 2001 ; run; data b; input name year code; cards; 1 2000 23 ...
关键词:sas程序 name year code 非常感谢 程序

沙发
yzsxdlcc 发表于 2014-8-11 17:57:46
data a;
input name year;
cards;
       1        2000                  
       1        2001                  
       1         2002                  
       2         2001                  
       2         2002                  
       3         2000
           3         2001
       4         2000
       4         2001
;
run;
data b;
input name year code;
cards;
  1         2000    234
  1         2001     345
  2         2000      354
  2          2001     456
  3          2000     355
  3          2001       574
  ;
  run;
  proc sql;
  create table c as select a.name,a.year,b.code from a left join b on a.name=b.name and a.year=b.year;
  quit;
  proc print data=c;
  run;

藤椅
coco-123 发表于 2014-8-11 20:58:30
  1. data da;
  2. input a   year;
  3. cards;
  4. 1        2000                 
  5. 1        2001                    
  6. 1        2002               
  7. 2         2001                  
  8. 2         2002                  
  9. 3         2000
  10. 3         2001
  11. 4         2000
  12. 4         2001
  13. ;
  14. run;
  15. data ta;
  16. input b year code;
  17. rename b=a;
  18. cards;
  19. 1         2000     234
  20. 1         2001     345
  21. 2         2000     354
  22. 2          2001    456
  23. 3          2000    355
  24. 3          2001    574
  25. ;
  26. run;
  27. proc sort data=da;by a year;run;
  28. proc sort data=ta;by a year;run;
  29. data new;
  30. merge da(in=ina) ta(in=inb);
  31. by a year;
  32. if ina;
  33. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
liuliuqiu + 2 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 2  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

板凳
liuliuqiu 发表于 2014-8-12 09:46:54
yzsxdlcc 发表于 2014-8-11 17:57
data a;
input name year;
cards;
谢谢,我还想请教您一个问题,怎么把英文版括号转换成中文版呢?
假设name里有(),想转换成(),非常感谢

报纸
liuliuqiu 发表于 2014-8-12 09:47:30
coco-123 发表于 2014-8-11 20:58
谢谢,我还想请教您一个问题,怎么把英文版括号转换成中文版呢?
假设name里有(),想转换成(),非常感谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 06:39