2015-08-03 5 views
-1

Может кто-нибудь, пожалуйста, объясните мне значение &, & &,% в этом коде 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; 
+0

Преобразование кода здесь не в тему, хотя вы не просите об этом. Однако то, что вы просите, является чем-то тривиально найденным, даже немного узнав о SAS. Пойдите, прочитайте учебник по SAS (в частности, язык SAS Macro, это похоже), а затем вернитесь с любыми вопросами, которые вы, возможно, проинформировали, некоторым пониманием языка. – Joe

ответ

2

& и & & начало макропеременными. Они решаются на ценность. Значение, которое они разрешают, зависит от того, как они определены. Примером может служить:

% let var = test;

в этом случае & var разрешает тестировать. Но есть и другие способы запуска макропеременных. Значок% -sign в значительной степени означает, что он принадлежит к макроязыкам. Можно многое сказать о макросах SAS, но я точно не знаю, сколько информации вам нужно.