楼主: zhouxianfeng111
2958 5

求SQL中批量查找相同条件不同变量的程序 [推广有奖]

  • 0关注
  • 1粉丝

本科生

50%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
799 点
帖子
37
精华
0
在线时间
124 小时
注册时间
2009-6-21
最后登录
2019-5-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现有数据集pp,共有84个变量,变量为X1 X2 A1-A40 X1_2 X2_2 A1_2-A40_2。现需要根据一定条件进行查询,如:
proc sql;select X1 X2 A1 X1_2 X2_2 A1_2 from pp
where ((X1=1 and X1_2=3) or (X2=6 and X2_2=1)) and ((A1=1 and A1_2 ne 1) or (A1 ne 1 and A1_2=1));quit;

现需要对A1-A40,A1_2-A40_2均进行上述条件进行查询(即在上程序中对红色字体进行相应替换),并将结果储存在同一个HTML中,如何通过宏程序或是其他方法进行批量查询呢?

请各位大侠赐教~~~~~~~~
二维码

扫码加我 拉你入群

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

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

关键词:sql proc sql Select Elect Where 程序

沙发
420948492 发表于 2014-8-4 14:20:13 |只看作者 |坛友微信交流群
  1. ods html file="c:\html1";
  2. %macro rerun;
  3. %do i=1 % to 40;
  4. proc sql;
  5. select X1 X2 A1 X1_2 X2_2 A1_2 from pp
  6. where ((X1=1 and X1_2=3) or (X2=6 and X2_2=1))
  7. and ((A%left(&i)=1 and A%left(&i)_2 ne 1) or
  8. (A%left(&i) ne 1 and A%left(&i)_2=1));
  9. quit;
  10. %end;
  11. %mend;
  12. %rerun;
  13. ods html close;
复制代码

使用道具

420948492 发表于 2014-8-4 14:20
我试了你的程序,但运行有错误。
proc sql; select X1,X2,A1,X1_2,X2_2,A1_2 from pp where ((X1=1 and X1_2=3) or (X2=6 and X2_2=1)) and
9  ! ((A%left(&i)=1 and A%left(&i)_2 ne 1) or (A%left(&i) ne 1 and A%left(&i)_2=1)); quit;
                                                --
                                                76
ERROR 76-322: 语法错误,语句将被忽略。

我用的是sas9.1,是版本问题么?

使用道具

板凳
420948492 发表于 2014-8-5 11:16:50 |只看作者 |坛友微信交流群
zhouxianfeng111 发表于 2014-8-5 09:22
我试了你的程序,但运行有错误。
proc sql; select X1,X2,A1,X1_2,X2_2,A1_2 from pp where ((X1=1 and ...
上传个样本文件试一试

使用道具

420948492 发表于 2014-8-5 11:16
上传个样本文件试一试
呵呵,谢谢,我自己解决了。我把变量名称修改了。现在可以用了。感谢感谢

使用道具

地板
songzi1229 在职认证  发表于 2014-8-7 10:59:41 |只看作者 |坛友微信交流群

使用道具

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

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

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

GMT+8, 2024-4-27 18:25