我遇到以下問題。'%let'等於SAS用於設置變量等於數學中使用的數字嗎?
我想用公式中使用的值定義變量。
例如,
%讓免賠額= 1000;
(在代碼後)
...(1500 - &免賠額)...;
這似乎不工作?當我在代碼的其餘部分硬編碼值時,它完美地工作。有什麼建議?謝謝!
我遇到以下問題。'%let'等於SAS用於設置變量等於數學中使用的數字嗎?
我想用公式中使用的值定義變量。
例如,
%讓免賠額= 1000;
(在代碼後)
...(1500 - &免賠額)...;
這似乎不工作?當我在代碼的其餘部分硬編碼值時,它完美地工作。有什麼建議?謝謝!
SAS宏變量值是文本。所以你需要使用%eval進行計算。
%let a= 1000;
%put 10000-&a;/*resolves it text value*/
output is 10000-1000
%let a= 1000;
%put %eval(10000-&a);/*resolves it text value*/
output is 9000
謝謝Kiran!這有很大幫助。我有一些嵌套在「do」和 「if」語句中的計算。是否只需在公式外部使用變量放置'%eval'? – indiansrulz
這也不適用於小數點,對嗎? – indiansrulz
是的。或%eval在你的宏變量前面爲1000 +%eval(&a)。如果你有小數,使用%sysevalf – Kiran
「似乎沒有工作」是什麼意思?顯示完整的代碼,錯誤消息或不良行爲。 – Joe