我正在設計一個通用宏來做一個使用宏變量(比如說X)來更新一個表,它被用作列名。我遇到的問題是,有這樣的變量X(它在where子句中用作列名)爲空。有人可以幫助請使用宏變量作爲列名
0
A
回答
1
我不想where子句時&X
是空白的,然後做一些事情,如:
%if %length(&X) > 0 %then where &X = 'blahblah';
這樣的地方,如果&X
中有文本條款只被創建。
1
如果&x
保證被定義,但可能是空白的,那麼DWal的解決方案就是要走的路。當宏變量是一個參數時,這基本上是有用的,並且每次宏運行時都會定義它。
如果根本沒有定義它,那麼您需要使用%symexist()
來檢查宏變量是否完全定義,除了%length
檢查之外。
%macro test;
%if %symexist(X) %then %if %length(&x)>0 %then %do;
%put &=x;
%end;
%mend test;
%symdel x; *deletes x if it exists;
%test;
%let x=;
%test;
%let x=XValue;
%test;
我嵌套%if
,以避免一個無形的筆記。
相關問題
- 1. 使用變量作爲列名
- 2. 列中的值作爲宏變量
- 3. 列名作爲變量
- 4. 使用變量值作爲宏變量的值
- 5. 獲取Excel工作表名稱並將其作爲宏中的變量使用
- 6. 使用SAS宏變量在PROC中創建變量名稱SQL
- 7. GraphQL:使用變量值作爲別名
- 8. 使用一個變量作爲類名
- 9. 使用變量作爲實體表名
- 10. 使用變量作爲屬性名稱
- 11. 使用內容作爲變量名
- 12. 使用字符串作爲變量名
- 13. 使用保留名稱作爲變量
- 14. 使用字符串作爲變量名
- 15. SPSS宏:通過變量名
- 16. pyodbc列名稱作爲變量
- 17. Laravel /雄辯 - 列名作爲變量
- 18. Python列表作爲變量名稱
- 19. 作爲mysql列名的php變量
- 20. 列名作爲變量在選擇
- 21. 變量作爲列名的一部分
- 22. SQL Server - 列名作爲變量
- 23. 字符串變量作爲列名
- 24. 將變量保存爲宏名稱並在許多宏函數中使用它
- 25. 使用包含varname列表的宏變量刪除變量
- 26. 在data.frame或cbind中使用變量值作爲列名
- 27. 無法使用動態變量作爲列名在PHP MySQL的
- 28. 使用變量作爲data.table中的列名稱
- 29. 在rails中使用變量作爲列名
- 30. Python - 使用變量作爲列表名稱
謝謝。有效。 – Tladoo 2015-03-03 14:57:10