我正在设计一个通用宏来做一个使用宏变量(比如说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