楼主: priss111
1983 4

请问如何调用索引生成by变量来进行横向merge,谢谢! [推广有奖]

  • 0关注
  • 5粉丝

副教授

15%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14938 点
帖子
473
精华
0
在线时间
805 小时
注册时间
2008-3-30
最后登录
2024-4-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


有关问题详细内容见下:

数据集说明:
数据集all中有100个变量(上万条观测),
其中1个变量是name;
数据集part中有5个变量(上千条观测),
其中1个变量也是name(其取值大部分都在all的name中);



最终目标:
1.从all中查找到part中的name 并将其输出(输出数据集还包括all中的其他变量,可不包括part中的变量),
  且输出数据集中要有一个标示变量(1=在all中找到同name;0=在all中未找到同name)以便于知道哪些未在all的name中找到;


遇到的困难:
因为name是字符型变量,
我想用索引取代where name in ('name1', 'name2',...'namen')括号中的内容,
否则手动写 几千个wherein 括号中的单引号与逗号.

或者用SQl能不能实现,
最好用索引能不能实行“最终目标”.

all与part数据集中的部分数据:
all数据集的name变量为,
     叶荣康    苏志勇    毛汉华    毛阳摇    陈征杭    吴树友  叶常青    黄金铎    吴福园    崔保明    温勇坚    谭石换    汤永仁    陆国华    吴开山    邓承永    罗卫真  李国雄    唐静    冯少云    莫为源    孔永清    谭建民    吴文高    谭永雄    李香    姚子平

part数据集中name变量为,
     苏志勇    毛汉华    毛阳摇    陈征杭    吴树友    梁炎均 杨宏莲

先谢谢!  





二维码

扫码加我 拉你入群

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

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

关键词:Merge Where 字符型变量 name PART 如何

沙发
mymine 发表于 2012-4-25 21:13:25 |只看作者 |坛友微信交流群
proc sql;
create table temp1 as
select *,'1' as code
from all
where name in (select name from part)
union
select *,'0' as code
from all
where name not in (select name from part);
quit;
已有 1 人评分学术水平 收起 理由
priss111 + 1 符合目标.

总评分: 学术水平 + 1   查看全部评分

使用道具

藤椅
priss111 发表于 2012-4-26 11:00:21 |只看作者 |坛友微信交流群
mymine 发表于 2012-4-25 21:13
proc sql;
create table temp1 as
select *,'1' as code
谢谢!!


proc sql 的结果与merge(横向)的结果有点儿出入,
因为name是字符型变量,
不知是否对sql 过程有影响.

使用道具

板凳
mymine 发表于 2012-4-26 13:04:45 |只看作者 |坛友微信交流群
proc sql这种运算对与name为字符型没有关系的呀
应该不会有问题的

使用道具

报纸
priss111 发表于 2012-4-26 14:59:08 |只看作者 |坛友微信交流群
mymine 发表于 2012-4-26 13:04
proc sql这种运算对与name为字符型没有关系的呀
应该不会有问题的
好的,谢谢!

使用道具

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

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

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

GMT+8, 2024-4-28 11:50