2017-07-12 79 views
1

我是SAS新手。我想知道下面的內容。無法弄清楚它對程序做了什麼,因爲我沒有在聲明後遇到後續部分中的任何已定義的變量。%讓%放變量 - 它對你的sas程序有什麼影響

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

如果宏變量從未被引用,那麼行可能只是在那裏寫入執行時間到日誌中。 – Tom

回答

2

%let語句用於創建宏變量。

第一條語句:

%let cutofftime =%sysfunc(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語言。

+0

謝謝你,昆汀!我會記下這一點! :) – ini

相關問題