A SAS eljárások alapjai
A SAS eljárások olyan programok, amelyek elérik a SAS adatállományokat, és
azokon valamilyen számítást, elemzést végeznek.
Lényegében végrehajtható modulok, mégpedig olyan formában, hogy a felhasználó
adhat nekik paramétereket. Így akár az output-ot futásról futásra is megváltozathatjuk,
ha különböző paramétereket adunk meg. Minden eljárás ad output-ot, melynek alapszerkezete
így néz ki:
PROC meghivando_eljaras_neve;
RUN;
Ezek az eljárások elég könnyen formálhatóak, nagy előnyük pedig abban rejlik,
hogy az utasításokat és az opciókat szabadon megváltoztathatjuk:
PROC eljaras_neve opcio1, opcio2, …;
Utasitas…;
Utasitas…;
RUN;
PROC PRINT
A PROC PRINT az egyik legegyszerűbb és legkönnyebb SAS eljárás, feladata,
hogy kilistázza egy SAS adatállomány adatait.
Legegyszerűbb formája, mikor a legutóbb létrehozott SAS adatállományt szeretnénk kiíratni:
PROC PRINT;
RUN;
Ha egy adatállomány nevére szeretnénk hivatkozni, azt is könnyen megtehetjük:
PROC PRINT DATA=adatallomany_neve;
RUN;
Természetesen a PROC PRINT utasításnak adhatunk opciókat, vagy egyéb
utasításokat is írhatunk még a RUN elé.
VAR
A VAR utasítással lehet megmondani az eljárásnak, hogy éppen melyik változóval
foglalkozzon, azaz megmondhatjuk, hogy mely változók vegyenek részt az elemzésben.
Formája a lehető legegyszerűbb:
VAR valtozo1, valtozo2, …;
PROC SORT
Ezzel az eljárással készíthetünk növekvő vagy csökkenő sorba rendezést,
mégpedig úgy, hogy átrendezi a megfigyeléseket az adatállományban.
A BY utasítással meg kell adnunk benne, hogy mi szerint végezze a rendezést.
Általános formája:
PROC SORT DATA=sas OUT=fajl ;
BY (DESCENDING) valtozo1 (DESCENDING) valtozo2 … ;
RUN;
A rendezés mindig növekvő sorrendben fog történni, kivéve,
ha a változónév előtt megadjuk, hogy DESCENDING. Ebben az esetben csökkenő
sorrendben fogja végrehajtani a rendezést.
Kiválasztó IF
IF SAS_kifejezés ;
A kiválasztó IF utasításnál csak azok a megfigyelések kerülnek bele a keletkező állományba,
amelyek kielégítik a feltételt.
Operátorok:
EQ vagy = Egyenlő
NE vagy ^= Nem egyenlő
LE vagy <= Kisebb vagy egyenlő
LT vagy < Kisebb
GE vagy >= Nagyobb vagy egyenlő
GT vagy > Nagyobb
Logikai operátorok:
AND & Logikai ÉS
OR ¦ Logikai VAGY
NOT ^ Logikai NEM
DO ciklus
DO i=kezdet TO vég BY növekedés;
SAS_utasítás
END;
Az i változó belekerül az output állományba. A kezdet, a vég és a növekedés értéke
a ciklus elején beállítódik, a ciklus közben pedig nem lehet megváltoztatni az értéküket.
A BY növekedés részt nem kötelező megadni, ekkor 1-gyet vesz alapértelmezettnek.
Egyébként az i változó értéke a ciklus végén növekszik, értelemszerűen a növekedés értékével.
Az i értékének az összehasonlítása vég értékkel a ciklus elején történik.