3
我正在嘗試使用SAS。我創建了一個數據集,其中變量的數量取決於用戶選擇的時間段。我想要做的是循環這些變量。我試圖用這個宏是(我justed固定日期爲例子):在SAS中使用函數do
%MACRO DO_PERIOD;
%DO I = 1 %TO %SYSFUNC(intck('month', "01JUL2008"d, "31JUL2009"d));
%PUT %I
%END;
%MEND DO_PERIOD;
不幸的是運行此宏產生以下錯誤:
ERROR: A character operand was found in the %EVAL function or %IF
condition where a numeric operand is required.
The condition was: %sysfunc(intck('month', "01JUL2008"d, "31JUL2009"d))
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro DO_PERIOD will stop executing.
我試圖評估的多種方式intck函數(例如%eval(%sysfunc(....)),使用輸入(...)),但沒有任何結果。我希望你們中有人知道在%do語句中評估函數的答案。
非常感謝!將代碼放入StackExchange時,Apersand是一個錯字。經過一番試驗後,我發現真正的問題是'MONTH'周圍的引號。留下這些解決了問題! –