Я хочу преобразовать этот код из SAS в ECL(HPCC)
Может кто-нибудь, пожалуйста, объясните мне значение &, &&, % в этом коде 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;
1 ответ
& и && - начало макропеременных. Они решают к значению. Значение, к которому они относятся, зависит от того, как они определены. Примером может быть:
% let var = test;
в этом случае &var решает проверить. Но есть и другие способы инициирования макропеременных. Знак% в значительной степени означает, что он относится к языкам макросов. Существует много сказать о макросах SAS, но я не уверен, сколько именно информации вы после.