我正在設計一個通用宏來做一個使用宏變量(比如說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. 獲取Excel工作表名稱並將其作爲宏中的變量使用
- 4. 使用SAS宏變量在PROC中創建變量名稱SQL
- 5. 使用變量作爲屬性名稱
- 6. 使用字符串作爲變量名
- 7. 使用保留名稱作爲變量
- 8. 使用變量作爲實體表名
- 9. 使用一個變量作爲類名
- 10. SPSS宏:通過變量名
- 11. 作爲mysql列名的php變量
- 12. 字符串變量作爲列名
- 13. 變量作爲列名的一部分
- 14. Laravel /雄辯 - 列名作爲變量
- 15. SQL Server - 列名作爲變量
- 16. 使用包含varname列表的宏變量刪除變量
- 17. 使用變量作爲動態SQL中列名的一部分
- 18. 使用Se變量作爲列名的SQL Server
- 19. Python的 - 使用變量名作爲輸入列表功能
- 20. 使用變量作爲data.table中的列名稱
- 21. 無法使用動態變量作爲列名在PHP MySQL的
- 22. 在MYSQL查詢中使用一個變量作爲列名
- 23. 如何在Perl中使用變量的值作爲變量名?
- 24. 使用字符串變量作爲變量名
- 25. 如何在Ruby中使用變量作爲變量名?
- 26. 在Java中使用變量作爲其他變量的名稱
- 27. 列作爲變量
- 28. 使用多個宏變量作爲值創建SAS數據集
- 29. 提取變量標籤和使用它們作爲SPSS宏觀
- 30. Elixir:如何使用List作爲變量定義多個宏?
謝謝。有效。 – Tladoo 2015-03-03 14:57:10