SQL에서 매크로를 사용하는 방법?SAS 매크로 : proc sql에서 매크로 사용
&VarTable
이 두 변수를 테이블입니다 :
나는 이런 식으로 뭔가 의미 (모든 일에 대해, 그 선택했다) (예를 들어) Lib
및 Table
는 &VarTable
의 각 관찰은이다 테이블의 이름 : Lib.Table
나는 모든 테이블에 대한 작업을 수행 할 :
1) 존재 하는가? 이 존재하는 경우 각 테이블, 변수 &VarField
있습니다
2)이
와 마지막 조건이 정렬합니다.
%macro mSortedTable(vLib,vTab,vVar);
%if %sysfunc(exist(&vLib..&vTab)) %then %do;
proc sort data = &vLib..&vTab;
by &vVar;
run;
&vLib..&vTab
%end;
%else %do; "" %end;
%mend mSortedTable;
proc sql noprint;
select %mSortedTable(vLib=Lib,vTab=Table,vVar=&VarField)
into: AccumVar separated by " "
from &VarTable;
quit;
SQL 및 매크로를 사용하는 방법은 무엇입니까?
첫 번째 질문을 교묘히 회피 :이 코드가 작동하지 않습니다 물론 – gaussblurinc
의 그래서 도서관의 관찰 및 데이터를 포함하는 데이터 세트와 함께 당신이 작업을 수행 할 이름을 설정 각 데이터 세트에? 각 변수 이름을 매크로에 넣으려고합니까? –
예. 내 동료는 고양이와 매크로 생성을 사용하여 이것을 할 수 있다고 말했습니다 : proc sql noprint; ''"으로 구분 된 AccumVar에 고양이를 선택하십시오 (% mSortedTable (', Lib,', Table, ', Lib,', ', VarField,') '). 그러나이 변형은 데이터 저장에서 사용할 수 없습니다. 두 매크로를 사용하여 같은 구조를 사용하기로 결정했다. 먼저 정렬 할 것이고 또 다른 이름은'Lib.Table' – gaussblurinc