SAS - 输入表列表作为宏参数
SAS - input list of tables as macro parameter
我想输入一个表格列表作为宏参数。
宏代码:
%MACRO Marco_Name ( Table_Name ) ;
PROC SQL;
execute (
select (owner ||'.'||table_name) as table_name from dba_tables
where table_name in (&Table_Name.)
)
QUIT;
%MEND Marco_Name ;
当我调用宏时,例如:
%Marco_Name ( Table_Name = 'table1', 'table2, 'table3')
我想将代码解析为:
select (owner ||'.'||table_name) as table_name from dba_tables
where table_name in ('table1', 'table2, 'table3')
欢迎来到精彩的宏编程世界。
%STR
宏函数用于包装包含逗号的值,否则在作为参数传递时会混淆宏处理器。
调用宏如下:
%MyMacro ( Table_Name = %str ( 'table1', 'table2, 'table3' ) )
我想输入一个表格列表作为宏参数。
宏代码:
%MACRO Marco_Name ( Table_Name ) ;
PROC SQL;
execute (
select (owner ||'.'||table_name) as table_name from dba_tables
where table_name in (&Table_Name.)
)
QUIT;
%MEND Marco_Name ;
当我调用宏时,例如:
%Marco_Name ( Table_Name = 'table1', 'table2, 'table3')
我想将代码解析为:
select (owner ||'.'||table_name) as table_name from dba_tables
where table_name in ('table1', 'table2, 'table3')
欢迎来到精彩的宏编程世界。
%STR
宏函数用于包装包含逗号的值,否则在作为参数传递时会混淆宏处理器。
调用宏如下:
%MyMacro ( Table_Name = %str ( 'table1', 'table2, 'table3' ) )