sas
Macrovariabelen maken
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
enTHRU
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