我想将此代码从 SAS 转换为 ECL(HPCC)
Posted
技术标签:
【中文标题】我想将此代码从 SAS 转换为 ECL(HPCC)【英文标题】:I want to convert this code from SAS to ECL(HPCC) 【发布时间】:2015-08-03 08:51:27 【问题描述】:有人可以解释一下这个 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;
【问题讨论】:
代码转换在这里不是主题,尽管您并不完全要求这样做。但是,您所问的问题是通过对 SAS 稍加了解即可发现的。去阅读关于 SAS 的教程(特别是 SAS 宏语言,它看起来像),然后回来回答您可能通过对该语言的一些了解而得到的任何问题。 【参考方案1】:& 和 && 是宏变量的开头。他们决定一个价值。它们解析的值取决于它们的定义方式。一个例子可能是:
%let var=test;
在这种情况下 &var 解析为测试。但是还有其他方法可以启动宏变量。 % 符号几乎意味着它属于宏语言。关于 SAS 宏有很多话要说,但我不确定您究竟了解了多少信息。
【讨论】:
以上是关于我想将此代码从 SAS 转换为 ECL(HPCC)的主要内容,如果未能解决你的问题,请参考以下文章