楼主: s900s900
3184 3

[问答] 请教~SAS里如何判断某个值在不在数据库中? [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
371 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
23 点
帖子
2
精华
0
在线时间
36 小时
注册时间
2013-10-2
最后登录
2022-12-4

楼主
s900s900 发表于 2017-6-15 19:19:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


假设有如下表~

NAME PHONE CONTACTOR PHONE_1;
A 11 B 22
B 22 A 11
C 33 D 44
D 44 E 99

我需要找出A和B来,因为A和B互相填写了对方作为联系人~

我理解逻辑大概是这样,
1 data里读到第一行, NAME=A CONTACOTR=B 的时候
2 判断B 在不在 表D 的NAME 中~
3 然后再判断 表D 中 NAME=B的哪一行里 CONTRACOTR是否=A。
4 两重判断都是TRUE的就设定新变量MARK=1 。。。。


然后导出MARK=1的就好~~
到时候再一个个看就好了~~

——————————————
实际上还要判断2次 电话是否互相匹配~~~

不知道有没有SAS高手能教教我~

我只会python 那种 dictionary 然后输入位置编码 一个个检查那种~
但是我想sas data里面自动在走一种神秘的循环。。。。。

玩了一天。。。不会玩






二维码

扫码加我 拉你入群

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

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

关键词:数据库 Dictionary Contact python Phone dictionary python 联系人 数据库 如何

回帖推荐

popodan 发表于2楼  查看完整内容

data a; input NAME $ PHONE CONTACTOR $ PHONE_1; lines; A 11 B 22 B 22 A 11 C 33 D 44 D 44 E 99 ; proc sql; select a.name,a.phone,b.name,b.phone from a as a, a as b having (a.name=b.contactor and b.name=a.contactor and a.phone=b.phone_1 and b.phone=a.phone_1); quit; 用sql判断一次就好。如果你一定要mark=1,自己再建一个如果返回的name,phone不为空值mark=1就好。

沙发
popodan 在职认证  发表于 2017-6-15 23:15:44
data a;
input
NAME $ PHONE CONTACTOR $ PHONE_1;
lines;
A 11 B 22
B 22 A 11
C 33 D 44
D 44 E 99
;

proc sql;
select a.name,a.phone,b.name,b.phone from a as a, a as b
having (a.name=b.contactor and b.name=a.contactor and a.phone=b.phone_1 and b.phone=a.phone_1);
quit;

用sql判断一次就好。如果你一定要mark=1,自己再建一个如果返回的name,phone不为空值mark=1就好。
已有 1 人评分经验 论坛币 热心指数 收起 理由
admin_kefu + 20 + 20 + 2 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 20  热心指数 + 2   查看全部评分

藤椅
s900s900 发表于 2017-6-16 09:39:05
popodan 发表于 2017-6-15 23:15
data a;
input
NAME $ PHONE CONTACTOR $ PHONE_1;
哥,不知道SQL还有这样强大的操作~
太感谢了 我连MARK都不用加。

板凳
8112mmw 发表于 2017-6-17 07:44:27
加一句类似的判断语句:if  NAME=A and CONTACOTR=B then mark=1

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

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