Function 输出格式sas函数

Function 输出格式sas函数,function,sas,Function,Sas,有没有办法定义函数输出必须返回的格式 例如,如果我定义这个函数 proc fcmp outlib=WORK.funcs.Dates; function mytoday(); return (today()); endsub; RUN; OPTIONS APPEND=(cmplib=WORK.FUNCS); 然后我在数据步骤中使用它 data test; a=today(); b=mytoday(); run; 我得了12分。格式 a

有没有办法定义函数输出必须返回的格式

例如,如果我定义这个函数

proc fcmp outlib=WORK.funcs.Dates;
   function mytoday();
         return (today());
   endsub;
RUN;
OPTIONS APPEND=(cmplib=WORK.FUNCS);
然后我在数据步骤中使用它

data test;
  a=today();
  b=mytoday();
run;
我得了12分。格式

   a            b   
 20485       20485   
我必须以这种方式明确设置格式:

data test;
  format a b yymmdd10.;
  a=today();
  b=mytoday();
run;    

   a            b   
2016-02-01   2016-02-01
我想答案是否定的,但我想确定一下


谢谢

您是对的,您不能将格式附加到函数的输出

您可以创建一个宏来生成赋值语句和format语句

%macro mytoday(varname);
  &varname = today();
  format &varname date9.;
%mend mytoday;
data test;
   %mytoday(b)
run;

非常感谢你,汤姆。