楼主: ppsakwu
1567 3

[问答] 请教:关于where语句的一个小问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

66%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
655 点
帖子
6
精华
0
在线时间
26 小时
注册时间
2013-8-6
最后登录
2015-4-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
%let chara = A;
%let num = 2;

Data SetName;
input var1 var2 var3;
cards;
A 1 2 3
A 1 2 4
A 2 3 7
B 1 4 8
;
RUN;
proc SQL;
   create table SetName_ as
   select * from SetName
   where var1 = &chara and var2 = #
quit;

我i写的小程序类似这样的。
上面运行后,SetName_只有「A 2 3 7」一条观测,
如果我想数据集SetName_有SetName中前三条观测,即是var1 = A,但是我又不想改写「where var1 = &chara and var2 = &num」,应该怎么办?


好像表达很乱的样子,其实我就是想只改动宏变量的情况下,可以实现上面2个功能,有办法么?
二维码

扫码加我 拉你入群

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

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

关键词:Where HERE whe 小问题 proc sql where

回帖推荐

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

%let chara = "A"; %let num = 1 2; Data SetName; input var1 $ var2 var3; cards; A 1 2 3 A 1 2 4 A 2 3 7 B 1 4 8 ; RUN; proc SQL; create table SetName_ as select * from SetName where var1 = &chara and var2 in( &num); quit;
沙发
yoyo945 发表于 2013-8-26 16:18:00 |只看作者 |坛友微信交流群
%let chara = "A";
%let num = 1 2;

Data SetName;
input var1 $ var2 var3;
cards;
A 1 2 3
A 1 2 4
A 2 3 7
B 1 4 8
;
RUN;
proc SQL;
   create table SetName_ as
   select * from SetName
   where var1 = &chara and var2 in( &num);
quit;

使用道具

藤椅
ppsakwu 发表于 2013-8-26 17:13:25 |只看作者 |坛友微信交流群
yoyo945 发表于 2013-8-26 16:18
%let chara = "A";
%let num = 1 2;
哇!宏变量可以同时等同2个值,可以这样用的啊?
那如果cards改为
cards;
A 1 2 3
A 1,2 2 4
A 2 3 7
B 1 4 8
;
这样咋办,因为我原本还能用模糊查找= =一改就不会用了。
我改宏变量也不行 %let num = 1 2 1,2;

使用道具

板凳
yoyo945 发表于 2013-10-16 12:03:45 |只看作者 |坛友微信交流群
%let chara = "A";
%let num ="1" "2" "1,2";

Data SetName;
input var1 $ var2 $ var3;
cards;
A 1 2 3
A 1,2 2 4
A 2 3 7
B 1 4 8
;
RUN;
proc SQL;
   create table SetName_ as
   select * from SetName
   where var1 = &chara and var2 in( &num);
quit;

使用道具

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

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

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

GMT+8, 2024-5-1 02:18