楼主: tangliang0905
1415 7

macro variable的问题请教 [推广有奖]

  • 1关注
  • 3粉丝

讲师

52%

还不是VIP/贵宾

-

威望
0
论坛币
1167 个
通用积分
1.0083
学术水平
13 点
热心指数
20 点
信用等级
11 点
经验
30311 点
帖子
212
精华
0
在线时间
834 小时
注册时间
2012-11-29
最后登录
2018-12-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想把macro variable运用到SQL中,
发现还是有一些问题。

当直接赋值的时候
%let cond1=%str(name like '%J%');

proc sql;
create table test1 as
select *
from sashelp.class
where &cond1;
;
quit;


这样的话,程序可以运行。

当用另外一种繁琐的方法写macro variable的时候,却发现不太可行。
%let c1=J;
%let c2=%str(%')%nrbquote(%)%trim(&c1)%nrbquote(%)%str(%');
%let cond2=%str(name like &c2);
%put &cond2;


这个时候发现cond2 put出来的值是和cond1一样的,但是放到sql中的时候就发现错误
proc sql;
create table test1 as
select *
from sashelp.class
where &cond2;
;
quit;


虽然cond2也进行了解释,但是&cond2本身还是保留在SQL中,我一时之间也不知道怎么解决了,所以想向大家请教一下,怎样用写cond2的方法,让SQL可以顺利运行。




二维码

扫码加我 拉你入群

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

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

关键词:Variable Macro ABLE ABL acr

沙发
pobel 在职认证  发表于 2013-4-26 08:47:18 |只看作者 |坛友微信交流群
proc sql;
create table test1 as
select *
from sashelp.class
where %unquote(&cond2);
;
quit;
和谐拯救危机

使用道具

藤椅
scnfeg 发表于 2013-4-26 09:24:51 |只看作者 |坛友微信交流群
学习了: %str(name like '%J%');  %unquote(&cond2);

使用道具

板凳
tangliang0905 发表于 2013-4-26 10:27:37 来自手机 |只看作者 |坛友微信交流群
哈哈,学习了

使用道具

报纸
tangliang0905 发表于 2013-4-26 10:27:39 来自手机 |只看作者 |坛友微信交流群
哈哈,学习了

使用道具

地板
playmore 发表于 2013-4-26 11:26:56 |只看作者 |坛友微信交流群
改一下你的宏变量设置会简单些
不要用%let cond1=%str(name like '%J%');
这样一个宏变量里包含太多的东西了
可以设置一系列的宏变量,有的用于Like子句,有的用于Contain子句
用于Like的宏变量就可以这样用了 name like "&LikeConstraint"
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

使用道具

7
peterpan_aus 发表于 2013-4-26 12:04:17 |只看作者 |坛友微信交流群
不太明白%let cond1=%str(name like '%J%'); 和%let cond1=name like '%J%';有什么区别,好像运行下来是一样的


使用道具

8
tangliang0905 发表于 2013-4-26 21:32:23 来自手机 |只看作者 |坛友微信交流群
playmore 发表于 2013-4-26 11:26
改一下你的宏变量设置会简单些
不要用%let cond1=%str(name like '%J%');
这样一个宏变量里包含太多的东西 ...
所以我才想用&cond2的方法,才有一开始的疑问。macro的这些quote function真的好麻烦啊

使用道具

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

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

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

GMT+8, 2024-4-29 01:31