수색…
소개
SAS 프로그램 전반에서 매크로 변수를 사용하는 것은 모든 SAS 프로그래머가 잘 알고 있어야하는 기본 기능입니다. 매크로 변수를 사용하면 코드를 간단하고 일반적으로 유지할 수 있습니다. 일반 코드는 재사용 가능한 코드입니다.
% LET 사용
나는 % LET을 SAS에서 매크로 변수를 생성하는 가장 간단한 방법이라고 설명 할 것입니다.
%LET variableName = variableValue;
이제 어디에서 &variableName
을 사용하면 variableValue
해석됩니다.
참고 :
variableValue
자체만으로는 값의 의미와 사용 방법에 따라 구문 오류가 발생할 수 있습니다. 예를 들어 날짜가 PROC SQL 문의 WHERE 구문에서 사용하는 경우 제대로 작동하려면"&variableName"d
으로 작성해야합니다.
PROC SQL 사용
PROC SQL을 사용하면 테이블에서 빠른 결과를 얻어 변수에 던져 넣을 수 있습니다. 나는 보통 테이블에로드 된 레코드의 수를 얻고 싶을 때 빠른 PROC SQL 호출로 변수에 그 카운트를 가져올 수 있다는 것을 알게되었습니다.
PROC SQL;
SELECT
COUNT(*) INTO:aVariable
FROM
MyTable
;QUIT;
위의 예에서 aVariable
은 MyTable
레코드 수를 나타냅니다.
PROC SQL을 사용하여 여러 매크로 변수를 작성할 수도 있습니다.
PROC SQL;
SELECT
a,
b,
c INTO:aVariable, :bVariable, :cVariable
FROM
MyTable
;QUIT;
위의 예에서 INTO 문에서 생성 된 변수는 SELECT 문에서 반환 된 순서대로 끌어온 열과 일치합니다. 그러나 결과의 첫 번째 행만이 세 변수를 채우는 데 사용됩니다.
단일 행 이상을 저장하려는 경우 버전 6.11 이상을 사용하는 경우 다음 예제를 사용하십시오.
PROC SQL;
SELECT DISTINCT
a,
b,
c INTO :aVariable1 - :aVariable5,
:bVariable1 - :bVariable5,
:cVariable1 - :cVariable5
FROM
MyTable
;QUIT;
키워드
THROUGH
및THRU
수 그는 대시 대신 엉 사용-
DATA 단계에서 Call Symput () 사용하기
DATA _null_;
CALL SYMPUT('testVariable','testValueText');
;RUN;
위의 예제에서 %PUT &testVariable;
testvalueText
해결할 것 testvalueText
.
SYMPUT () 호출 내에서 변수를 형식화해야 할 필요가 있음을 알 수 있습니다.
DATA _null_;
CALL SYMPUT('testDate',COMPRESS(PUT(today(),date9.)));
;RUN;
위의 예제에서 %PUT &testDate;
10MAR2017
로 10MAR2017