Szukaj…


Wprowadzenie

Używanie zmiennych makr we wszystkich programach SAS to podstawowa funkcjonalność, którą każdy programista SAS musi znać. Korzystanie ze zmiennych makro może pomóc w utrzymaniu prostego i ogólnego kodu. Kod ogólny to kod wielokrotnego użytku.

Używanie% LET

Opisałbym% LET jako najprostszy sposób na utworzenie zmiennej makro w SAS.

%LET variableName = variableValue;

Teraz, gdziekolwiek użyjesz &variableName , rozwiąże to variableValue .

UWAGA: Może warto rozważyć, że variableValue wszystko na własnej potęgi przyniesie Ci błędy składni, depening na jaką wartość jest i jak jest on wykorzystywany. Na przykład, jeśli jest to data i używasz jej w GDZIE instrukcji PROC SQL, będzie ona musiała zostać napisana jako "&variableName"d aby działać poprawnie.

Korzystanie z PROC SQL

Używanie PROC SQL to dobry sposób na szybkie uzyskanie wyników z tabeli i wrzucenie ich do zmiennych. Zwykle stwierdzam, że gdy chcę uzyskać liczbę rekordów, które właśnie załadowałem do tabeli, mogę przekształcić tę liczbę w zmienną za pomocą szybkiego wywołania PROC SQL.

PROC SQL;
SELECT
    COUNT(*) INTO:aVariable
FROM
    MyTable

;QUIT;

W powyższym przykładzie aVariable będzie reprezentować, ile rekordów istnieje w MyTable .

Możesz także użyć PROC SQL do tworzenia wielu zmiennych makr.

PROC SQL;
SELECT
    a,
    b,
    c INTO:aVariable, :bVariable, :cVariable
FROM
    MyTable


;QUIT;

W powyższym przykładzie zmienne utworzone w instrukcji INTO będą pasować do kolumn pobranych w kolejności, w jakiej są zwracane z instrukcji SELECT. Jednak tylko pierwszy wiersz wyników zostanie użyty do wypełnienia tych 3 zmiennych.

Jeśli chcesz przechowywać więcej niż jeden wiersz i korzystasz z wersji 6.11 lub nowszej, skorzystaj z następującego przykładu:

PROC SQL;
    SELECT DISTINCT
        a,
        b,
        c INTO :aVariable1 - :aVariable5, 
               :bVariable1 - :bVariable5,
               :cVariable1 - :cVariable5
    FROM
        MyTable
;QUIT;

Słowa kluczowe THROUGH i THRU mogą być używane zamiast myślnika -

Korzystanie z Call Symput () w kroku DATA

DATA _null_;
            CALL SYMPUT('testVariable','testValueText');
;RUN;

W powyższym przykładzie %PUT &testVariable; rozwiąże testvalueText .

Konieczne może być sformatowanie zmiennej w wywołaniu SYMPUT ().

DATA _null_;
            CALL SYMPUT('testDate',COMPRESS(PUT(today(),date9.)));
;RUN;

W powyższym przykładzie %PUT &testDate; rozwiąże do 10 10MAR2017



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow