%let%放置变量 - 它对你的sas程序有什么作用

时间:2017-07-12 23:43:40

标签: sas

我是SAS的新手。我想知道下面的内容是做什么的。无法弄清楚它对程序的作用,因为我在声明之后没有遇到后续部分中的任何已定义变量。

%let cutofftime  =%sysfunc(time());
%let currdt      = %sysfunc(putn(&cutofftime.,time5.)) ; 
%put &cutofftime. &currdt.;

1 个答案:

答案 0 :(得分:2)

%let语句用于创建宏变量。

第一句话:

%let cutofftime  =%sysfunc(time());

使用time()函数来确定当前时间。它将当前时间作为数值返回,这是从午夜起的秒数。

第二个陈述:

%let currdt      = %sysfunc(putn(&cutofftime.,time5.)) ; 

使用PUTN()将数字时间值(现在存储在宏变量CUTOFFTIME中)转换为非常格式化的值,如22:30。

因此,在运行了两个%let语句之后,您创建了两个宏变量。然后%PUT语句用于将两个宏变量的值写入日志:

%put &cutofftime. &currdt.;

使用%PUT语句将宏变量的值写入日志是调试宏代码的有用方法,就像PUT语句可用于将数据步骤变量的值写入日志一样数据步骤调试工具。当我在晚上9:32运行代码时,日志显示:

3    %put &cutofftime. &currdt.;
77537.809 21:32

那就是说,如果你是SAS的新手,你可能应该避免在学习SAS语言的同时学习宏语言。