楼主: LB3344sss
1408 2

[SAS EM] sas %if else没有生效?问题 t_year 是我的年份他没有进到if判断 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
9 小时
注册时间
2018-4-25
最后登录
2018-10-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
call symput("t_year",put(intnx('day',date(),-1),year4.));       *昨天的当前年份;

%macro aa;
%if &t_year='2018' or &t_year='2019' %then %do;
proc sql;
create table z7 as
select a.xiangmu,a.mubiao,a.xishu, b.yj_ly label='去年平均' ,a.yue1,a.yue2,a.yue3,a.yue4,a.yue5,a.yue6,a.yue7,a.yue8,a.yue9,a.yue10,a.yue11,a.yue12
from z5 a left join z6 b
on a.xiangmu=b.xiangmu;
quit;

%end;
%else %do;
proc sql;
create table z7 as
select a.xiangmu,a.mubiao,a.xishu, b.yj_ly label='去年平均' ,a.yue1,a.yue2,a.yue3,a.yue4,a.yue5,a.yue6,a.yue7,a.yue8,a.yue9,a.yue10,a.yue11,a.yue12
from z5 a left join qxnpj b
on a.xiangmu=b.xiangmu;
quit;
%end;
%mend;
%aa;


二维码

扫码加我 拉你入群

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

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

关键词:else year ELS ear LSE sas else

沙发
lovexialulu 发表于 2018-4-25 16:47:58 |只看作者 |坛友微信交流群
宏变量&t_year 是个文本,不需要加 '',换成 %if &t_year=2018 or &t_year=2019 %then %do;
还有 最好用 call symputx

使用道具

藤椅
Tigflanker 发表于 2018-4-28 23:21:22 |只看作者 |坛友微信交流群
给你举个例子,了解一下:
  1. %let year = 2019;

  2. data a;
  3.   retain a b %sysfunc(ifc(&year. = 2018,,c d e)) 8;
  4. run;
复制代码
善用%sysfunc + ifc、putc

使用道具

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

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

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

GMT+8, 2024-4-19 18:12