全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2175 5
2015-09-11
各位,在写一个macro,其中想要生成一个variable为输入日期的前一天,输入的日期wanted_date为BEST12.数字格式(如日期"02JUL2015"d会被输入为20271),现在写的程序为:
%let wanted_date_minus=%sysevalf(&wanted_date-1);
%let file_date_minus=%sysfunc(putn(&wanted_date_minus,yymmddn8.));
&file_date_minus期望生成出输入日期前一天的yyyymmdd格式(如:输入20271则期望生成20150701)。在macro外用%put看是正常的,但是放在macro中运作会报错:
ERROR: %SYSFUNC 或 %QSYSFUNC 宏函数引用的函数 PUTN 中的参数 1 不是数字。
ERROR: %SYSCALL、%SYSFUNC 或 %QSYSFUNC 参数列表中检测到无效参数。
       %SYSCALL 语句或 %SYSFUNC 以及 %QSYSFUNC 函数引用将终止执行。
请各位解惑,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-11 11:12:08
贴出程序才能找到问题的根源
二维码

扫码加我 拉你入群

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

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

2015-9-11 11:13:05
贴出程序才能找到问题的根源
二维码

扫码加我 拉你入群

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

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

2015-9-11 11:51:52
很可能&wanted_date是字符串02JUL2015,不是数字,你应该%put &wanted_date看看
二维码

扫码加我 拉你入群

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

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

2015-9-11 12:04:21
learsaas 发表于 2015-9-11 11:13
贴出程序才能找到问题的根源
谢谢,已解决,是之前的注释语句出了问题。
二维码

扫码加我 拉你入群

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

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

2015-9-11 12:05:28
teqel 发表于 2015-9-11 11:51
很可能&wanted_date是字符串02JUL2015,不是数字,你应该%put &wanted_date看看
谢谢,已解决,是之前的注释语句出了问题。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群