楼主: longyilongyi
1924 5

[问答] SAS 匹配问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:24份资源

初中生

19%

还不是VIP/贵宾

-

威望
0
论坛币
45 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
126 点
帖子
7
精华
0
在线时间
6 小时
注册时间
2009-11-13
最后登录
2016-7-26

楼主
longyilongyi 发表于 2015-8-14 13:51:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教 如何 写成代码 实现下面的结果
data A;
input VarA : $5.;
datalines;
14325
AB123
51492
;

data B;
input VarB : $5.;
datalines;
14
B12
;


A和B匹配,找出A中具有B字段中字符的观测数
二维码

扫码加我 拉你入群

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

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

关键词:Lines Input Data line Vara 如何

沙发
lzxlisu 发表于 2015-8-15 13:06:45
你的问题都没提明白,别人怎么回答

藤椅
teqel 发表于 2015-8-16 00:20:04 来自手机
用set做循环?
Point=; scan()

板凳
teqel 发表于 2015-8-16 10:07:59
  1. data A;
  2. input VarA : $5.;
  3. datalines;
  4. 14325
  5. AB123
  6. 51492
  7. B1202
  8. 14B12
  9. ;

  10. data B;
  11. input VarB : $5.;
  12. datalines;
  13. 14
  14. B12
  15. ;

  16. proc sql;
  17. create table C as
  18. select A.VarA, B.VarB, index(A.VarA, strip(B.VarB)) as VarC
  19. from A, B
  20. where index(A.VarA, strip(B.VarB))
  21. order by 1, 2;

  22. select VarA, count(*) from C
  23. group by VarA;
  24. quit;
复制代码

报纸
teqel 发表于 2015-8-16 10:21:54
Method 2:
  1. data C;
  2. retain VarA VarB VarC cnt;
  3. drop i;
  4. set A;
  5. Cnt=0;
  6. do i=1 to n1;
  7.         set B nobs=n1 point=i;
  8.         VarC=index(VarA, strip(VarB));
  9.         if VarC then do;
  10.                 Cnt+1;
  11.                 output;
  12.         end;
  13. end;
  14. run;
复制代码

地板
慕白__·__慕思 发表于 2015-8-17 14:36:03
没看明白,这是匹配的程序吗

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

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