-1

有人可以解释一下这个 SAS 代码中 &, && , % 的含义吗?我想将此代码转换为 ECL(HPCC)。谢谢

PROC SQL;
create table  &RD (compress=binary) as
select a.*,b.Staff_tag2
from &RD a left join (select DISTINCT ucic_id , 1 as Staff_TAG2 
from    BAL.BAL_&DDMMYYYY1 where prod_code = '102')b
on a.ucic_id=b.ucic_id; 
QUIT;

%macro rd();
%do i=1 %to 12;
proc sql;
create table rd.RD_Closed_&&ddmmyyyy&i (compress=binary) as
select V_F_ACCT_ACCT_NUMBER as acct_no,
V_F_ACCT_FIC_CUSTOMER_REF_CODE as ucic_id
from edw.fct_all_accounts_summary
where business_dt eq &&yyyymmdd&i and V_F_ACCT_SOURCE_SYSTEM =  'FINWARERD' AND F_F_ACCT_CLOSED_IND eq 'Y';
quit;
%end;
%mend;
option mprint;
4

1 回答 1

2

& 和 && 是宏变量的开始。他们决定一个价值。它们解析的值取决于它们的定义方式。一个例子可能是:

%让变量=测试;

在这种情况下 &var 解析为测试。但是还有其他方法可以启动宏变量。% 符号几乎意味着它属于宏语言。关于 SAS 宏有很多话要说,但我不确定你究竟有多少信息。

于 2015-08-03T09:37:10.400 回答