楼主: erilee
3878 6

[问答] sas中关于文本匹配的循环 [推广有奖]

  • 3关注
  • 0粉丝

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1100 点
帖子
28
精华
0
在线时间
22 小时
注册时间
2008-7-25
最后登录
2016-6-1

楼主
erilee 发表于 2014-4-16 20:13:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题描述:
    数据集dataset1中有一列文本var1,m行,如
    北京市海淀区中关村
    北京市朝阳区朝阳公园
    北京市宣武区
    北京市海淀区上地


   数据集dataset2中有一列文本var2,n行,n<m,如
      海淀
      上地
      中关村

需要将var2中的每一行与var1的每一行进行匹配,如果var1中包含var2的关键词,则用label进行标记。
用if index(var1,var2)ne 0 可以进行判断,但我的问题是在sas中如何遍历var2的每一行,循环应该怎么写?
求高人指点。谢谢,在线等。

二维码

扫码加我 拉你入群

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

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

关键词:文本匹配 dataset DataS Data 朝阳公园 中关村 朝阳公园 北京市 朝阳区 海淀区

沙发
shenliang_111 发表于 2014-4-16 20:30:39
a left join b on  a.var2 like ‘%’||b.var1||‘%’

藤椅
erilee 发表于 2014-4-16 21:43:17
shenliang_111 发表于 2014-4-16 20:30
a left join b on  a.var2 like ‘%’||b.var1||‘%’
感谢回复,我试了一下左链接,提示执行该查询涉及到执行无法优化的一个或多个笛卡尔乘积连接

板凳
mingfeng07 学生认证  发表于 2014-4-16 21:45:16
shenliang_111 发表于 2014-4-16 20:30
a left join b on  a.var2 like ‘%’||b.var1||‘%’
  1. data a;
  2. length var1 $ 20;
  3. input var1 $;
  4. cards;
  5. 北京市海淀区中关村
  6. 北京市朝阳区朝阳公园
  7. 北京市宣武区
  8. 北京市海淀区上地
  9. ;
  10. run;
  11. data b;
  12. input var2 $;
  13. cards;
  14. 海淀
  15. 上地
  16. 中关村
  17. ;
  18. run;
  19. proc sql;
  20. create table c as select var2,var1 from a,b where kindex(var1,trim(left(var2)))^=0;
  21. quit;
复制代码
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

报纸
mingfeng07 学生认证  发表于 2014-4-16 21:46:23
  1. data a;
  2. length var1 $ 20;
  3. input var1 $;
  4. cards;
  5. 北京市海淀区中关村
  6. 北京市朝阳区朝阳公园
  7. 北京市宣武区
  8. 北京市海淀区上地
  9. ;
  10. run;
  11. data b;
  12. input var2 $;
  13. cards;
  14. 海淀
  15. 上地
  16. 中关村
  17. ;
  18. run;
  19. proc sql;
  20. create table c as select var2,var1 from a,b where kindex(var1,trim(left(var2)))^=0;
  21. quit;
复制代码
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

地板
erilee 发表于 2014-4-16 22:06:10
mingfeng07 发表于 2014-4-16 21:46
测试了一下您的kindex条件,结果正确,我需要好好研究一下kindex函数的用法,感谢mingfeng07

7
拽爷是好人 发表于 2017-7-19 11:16:40
感谢分享

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

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