我有一个宏创建一个时间戳(附加到输出文件名).但是,我宁愿将宏变量分配给宏的结果(如果它不够圆),而不是必须记住宏赋值的宏变量.
%let tms= %tms();
Run Code Online (Sandbox Code Playgroud)
这是当前的宏....
%macro tms ;
%* Create a Timestamp ;
%let tms_date= %sysfunc(date(),yymmdd10.) ; %* Todays date ;
%let tms_time= %sysfunc(time(),time.) ; %* Current Time ;
%* Format mmddyyhhmmss ;
%let tms=_%scan(&tms_date,1)%scan(&tms_date,2)%scan(&tms_date,3)%scan(&tms_time,1,:)%scan(&tms_time,2,:)%scan(&tms_time,3,:) ;
%mend ;
Run Code Online (Sandbox Code Playgroud)
你怎么引用它来使它工作?另外,我只是从宏中删除"%let tms ="吗?
此外,以下ODS转让声明的引用是否相同?
ods Tagsets.excelxp file="&outname.&tms..xml" style= Styles.XLsansPrinter ;
Run Code Online (Sandbox Code Playgroud)
感谢您抽出宝贵的时间....
我正在使用SAS 9.1.3在DATA步骤中调用一个宏,但宏生成一个PROC REPORT步骤,所以我使用CALL EXECUTE来调用它,生成所有这些PROC REPORT步骤,然后在所有这些步骤之后执行它们.数据步骤.
我正在使用一个数组,每次为这个数组中的每个元素执行宏:
DATA macro_test;
ARRAY questions[3] $ 32 ('question1' 'question2' 'question3');
DO i=1 to 3;
a_question = questions(i);
CALL EXECUTE( "%report_by_question(a_question)" );
end;
RUN;
Run Code Online (Sandbox Code Playgroud)
问题是,报告输出(通常)向后 - 它将首先打印问题3,然后打印2,然后打印1.
有没有办法修改CALL EXECUTE的执行顺序,这样我可以按顺序打印问题报告,还是只做自己的事情?
谢谢!
我怎么能找到具有特定长度名称的目录?例如,我有一堆目录长度等于33个字符('a92e8cc611fdebcca3cf2fc8dc02c918','c442fb3f46d6c8bd17d27245290a9512'等等).find实用程序是否接受'wc -c'形式的条件?或者也许其他一些工具应该用管道输送?
我有一个看起来像这样的字符串:
"ABAR_VAL", "ACQ_EXPTAX_Y", "ACQ_EXP_TAX", "ADJ_MATHRES2"
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
ABAR_VAL ACQ_EXPTAX_Y ACQ_EXP_TAX ADJ_MATHRES2
Run Code Online (Sandbox Code Playgroud)
即没有撇号或逗号和单个空格分开.
SAS 9.1.3中最干净/最短的方法是什么?
最好是类似的东西:
call symput ('MyMacroVariable',compress(????,????,????))
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,结果需要单个空格分隔,没有标点符号,并包含在宏变量中.
只是好奇!但我发现SAS所持有的π值实际上是不正确的.
例如:
data _null_;
x= constant('pi') * 1000000000000000000000000000;
put x= 32.;
run;
Run Code Online (Sandbox Code Playgroud)
给出(3.)141592653589792961327005696的π值
然而 - π当然是(3.)1415926535897932384626433832795(http://www.joyofpi.com/pi.html) - 到31 dp.
是什么赋予了??!!
sas ×4
sas-macro ×2
algorithm ×1
compression ×1
constants ×1
find ×1
linux ×1
name-length ×1
pi ×1
unix ×1