我是SAS新手。我想知道下面的內容。無法弄清楚它對程序做了什麼,因爲我沒有在聲明後遇到後續部分中的任何已定義的變量。%讓%放變量 - 它對你的sas程序有什麼影響
%let cutofftime =%sysfunc(time());
%let currdt = %sysfunc(putn(&cutofftime.,time5.)) ;
%put &cutofftime. &currdt.;
我是SAS新手。我想知道下面的內容。無法弄清楚它對程序做了什麼,因爲我沒有在聲明後遇到後續部分中的任何已定義的變量。%讓%放變量 - 它對你的sas程序有什麼影響
%let cutofftime =%sysfunc(time());
%let currdt = %sysfunc(putn(&cutofftime.,time5.)) ;
%put &cutofftime. &currdt.;
%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語言。
謝謝你,昆汀!我會記下這一點! :) – ini
如果宏變量從未被引用,那麼行可能只是在那裏寫入執行時間到日誌中。 – Tom