我如何从今天起分配负 1/昨天 SAS
How can I assign minus 1/yesterday from today SAS
我对 SAS 的日期感到困惑。
例如
%let fdate = %sysfunc(today(),EURDFDE9.);
显示 18JUN2019
我想在昨天显示 17JUN2019 怎么样
我尝试 -1 但它没有用,我该如何编码?
请注意 %sysfunc(today(),EURDFDE9.)
的结果是 字符串 18JUN2019
。你不能从中减去 1。但是,today() 是一个数值,因此如果您改为存储此值,则可以随后减去 1。注意宏变量是以字符串形式存储的,所以即使fdate是一个数字字符串,你也需要%eval来做减法。
%let fdate=%sysfunc(today());
%put %sysfunc(putn(&fdate,EURDFDE9.));
%let ydate=%eval(&fdate-1);
%put %sysfunc(putn(&ydate,EURDFDE9.));
我对 SAS 的日期感到困惑。
例如
%let fdate = %sysfunc(today(),EURDFDE9.);
显示 18JUN2019
我想在昨天显示 17JUN2019 怎么样
我尝试 -1 但它没有用,我该如何编码?
请注意 %sysfunc(today(),EURDFDE9.)
的结果是 字符串 18JUN2019
。你不能从中减去 1。但是,today() 是一个数值,因此如果您改为存储此值,则可以随后减去 1。注意宏变量是以字符串形式存储的,所以即使fdate是一个数字字符串,你也需要%eval来做减法。
%let fdate=%sysfunc(today());
%put %sysfunc(putn(&fdate,EURDFDE9.));
%let ydate=%eval(&fdate-1);
%put %sysfunc(putn(&ydate,EURDFDE9.));