楼主: baileyqw
3295 1

[问答] 宏程序条件语句中判断字符串为空的问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

62%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
380 点
帖子
15
精华
0
在线时间
40 小时
注册时间
2009-7-20
最后登录
2022-1-27

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位高手好,我在编写一段宏程序时遇到一个问题,从sql语句中选取的变量有时候因为本身表里面是空值,接下来没法操作,不知道如何判断,比如在宏中写了这么一段:
proc sql;
select var1,var2,var3,var4 into :varname1,:varname2,:varname3,:varname4 from combi_id where id = &i.;
quit;

%let var=%sysfunc(catx(&space.,&varname1.,&varname2.));

        %if &varname3. ^= %str() %then %do;
                %let &var.=%sysfunc(catx(&space.,&var.,&varname3.));
                %put &varname3.;
        %end;
        
        %if &varname4. ^= %str() %then %do;
                %let &var.=%sysfunc(catx(&space.,&var.,&varname4.));
        %end;

%put var=&var.;


其中varname3和varname4可能为空值,想弄个判断再拼字符串,结果不知道如何写if语句,上面那种写法请高手看看有没有问题,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:宏程序 字符串 proc sql sysfunc Select SAS 字符串 程序

沙发
孤单的我们 发表于 2017-2-16 13:03:07 来自手机 |只看作者 |坛友微信交流群
%if %length(&var3)...

使用道具

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

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

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

GMT+8, 2024-4-25 20:01