gpt4 book ai didi

sas - 将文字日期参数转换为宏中的 SAS 日期值

转载 作者:行者123 更新时间:2023-12-04 14:30:55 27 4
gpt4 key购买 nike

我想创建一个 SAS 宏,它以文字日期(例如'31may2011'd)作为参数。在宏内部,我想将其转换为 SAS 日期值(例如 18778)。

%macro transLiteralDate2Value(literal=);  
%put literal = &literal.;
%put sasdatavalue = ???; /* how to calculate this value ? */
%mend;
%transLiteralDate2Value(literal='31may2011'd);

是优雅的方式来实现这一目标吗?当然,我可以通过解析文字字符串来做到这一点,但我认为必须有更好的方法。

我使用 SAS 9.1.3

最佳答案

这将在宏内部或外部工作。不要忘记 %sysfunc() 有一个方便的可选第二个参数,它可以让您格式化输出值。

%let report_date = %sysfunc(sum('01JAN2011'd),best.);

或者
%let report_date = %sysfunc(putn('01JAN2011'd,best.));

干杯

关于sas - 将文字日期参数转换为宏中的 SAS 日期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5741131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com