수색…


소개

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;

위의 예에서 aVariableMyTable 레코드 수를 나타냅니다.

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;

키워드 THROUGHTHRU 수 그는 대시 대신 엉 사용 -

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; 10MAR201710MAR2017



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow