楼主: tiaoa
2174 5

MACRO日期计算问题 [推广有奖]

  • 1关注
  • 0粉丝

本科生

60%

还不是VIP/贵宾

-

威望
0
论坛币
773 个
通用积分
0
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
250 点
帖子
65
精华
0
在线时间
135 小时
注册时间
2012-10-17
最后登录
2020-6-7

楼主
tiaoa 发表于 2015-9-11 10:37:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位,在写一个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 函数引用将终止执行。
请各位解惑,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Macro 计算问题 CRO acr Mac ERROR 程序

沙发
learsaas 发表于 2015-9-11 11:12:08
贴出程序才能找到问题的根源

藤椅
learsaas 发表于 2015-9-11 11:13:05
贴出程序才能找到问题的根源

板凳
teqel 发表于 2015-9-11 11:51:52
很可能&wanted_date是字符串02JUL2015,不是数字,你应该%put &wanted_date看看

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

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

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 06:07