Zoeken…


Invoering

Het gebruik van macrovariabelen in al uw SAS-programma's is een basisfunctionaliteit die elke SAS-programmeur moet kennen. Door macrovariabelen te gebruiken, kunt u uw code eenvoudig en generiek houden. Generieke code is herbruikbare code.

% LET gebruiken

Ik zou% LET beschrijven als de meest eenvoudige manier om een macrovariabele in SAS te maken.

%LET variableName = variableValue;

Nu, overal waar u &variableName , wordt het omgezet in variableValue .

OPMERKING: u kunt overwegen dat variableValue op zichzelf syntaxisfouten kan veroorzaken, afhankelijk van wat de waarde is en hoe deze wordt gebruikt. Als het bijvoorbeeld een datum is en u deze gebruikt in de WHERE van een PROC SQL-instructie, moet deze worden geschreven als "&variableName"d om correct te werken.

PROC SQL gebruiken

PROC SQL gebruiken is een goede manier om snel resultaten uit een tabel te krijgen en deze in variabelen te gooien. Ik merk meestal dat wanneer ik een telling van records wil krijgen die ik net in een tabel heb geladen, ik die telling in een variabele kan krijgen met een snelle PROC SQL-aanroep.

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

;QUIT;

In het bovenstaande voorbeeld geeft aVariable aan hoeveel records er in MyTable .

U kunt ook PROC SQL gebruiken voor het maken van meerdere macrovariabelen.

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


;QUIT;

In het bovenstaande voorbeeld komen de variabelen die zijn gemaakt in de INTO-instructie overeen met de kolommen die zijn getrokken in de volgorde waarin ze worden geretourneerd uit de SELECT-instructie. Alleen de eerste rij met resultaten wordt echter gebruikt om die 3 variabelen in te vullen.

Als u meer dan één rij wilt opslaan en versie 6.11 of hoger gebruikt, gebruikt u het volgende voorbeeld:

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

De trefwoorden THROUGH en THRU kan hij gebruiken in plaats van het dashboard -

Call Symput () gebruiken in een DATA-stap

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

In het bovenstaande voorbeeld, %PUT &testVariable; zal oplossen in testvalueText .

Mogelijk vindt u de noodzaak om uw variabele op te maken in de SYMPUT () -aanroep.

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

In het bovenstaande voorbeeld, %PUT &testDate; zal oplossen naar 10MAR2017



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow