Szintaxis
Utasítások:
A kulcsszavak SAS utasítások nevei, ezzel kell, hogy kezdődjenek az utasítások.
Egy SAS utasítás akár több soros is lehet, bárhol kezdődhet és végződhet, agy sorba
pedig több utasítást is írhatunk. Éppen ezért szükség van egy utasítás elválasztó jelre,
ami a pontosvessző. Tehát pontosvesszővel kell lezárni egy utasítást.
Nevek:
A SAS állománynevek és a SAS változónevek betűvel vagy aláhúzással kell, hogy kezdődjenek,
majd betűvel, számmal vagy aláhúzással folytatódhatnak.
Program:
Fontos, hogy a programban a szavakat szóközzel kell elválasztani. Mivel más szabály nincs,
ezért olyan stílusban tudunk programot írni, ami számunkra a legkényelmesebb.
Helyes példa:
data fonok ;
set alkalmazott ;
run ;
proc print ;
run ;
Helytelen példa:
datafonok ;
set alkalmazott ;
run ;
procprint ;
run ;
Változók
A változóknak 2 típusa van: karakteres és numerikus.
A karakteres változók tulajdonképpen bármit tartalmazhatnak: betűt, számot és speciális karaktert is.
A másik típusa a változóknak a numerikus, az ilyen típusú változók csak számokat tartalmazhatnak.
Egy változónak meg lehet változtatni az alapértelmezett hosszát a LENGTH utasítással:
LENGTH változónév {$}hossz;
Ezt leginkább akkor használjuk, ha egy külsős fájlból listás olvasással olvasunk be
8-nál hosszabb karakteres adatot, mivel az alapértelmezett hossz a 8.
A kerekteres változóknál szükséges a $ jel megadása.
Lehetőség van a változóknál a maszk használatára is, ennek segítségével az ugyanúgy kezdődő
változókra lehet hivatkozni:
MAX: mindegyik MAX-xal kezdődő változóra utal.
Adatértékek megváltoztatása
Sokszor szükség van arra, hogy az adatértékeket megváltoztassuk. Ezt a PUT és
az INPUT függvényekkel tehetjük meg.
PUT függvény
eredmény = PUT (változó,formátum) ;
A PUT függvény a változó értéket a megadott formátumban írja ki az output-ra.
Főleg akkor alkalmazzuk, ha numerikus értéket karakteressé szeretnénk konvertálni.
Fontosabb szabályok:
- az eredmény mindig egy karaktersorozat
- az eredmény hossza a formátumban meghatározott lesz
- a változó és a formátum azonos típusú kell hogy legyen (karakteres vagy numerikus)
- ha a változó és a formátum is numerikusak, akkor az eredmény jobbra igazított lesz,
ha pedig karakteresek, akkor balra igazított lesz
A következő példa a HEX változó értékét írja ki a LOG-ba:
DATA;
chardata ='OLVAS';
hexdata=PUT(chardata,$hex4.);
PUT hexdata;
RUN;
INPUT függvény
eredmény = INPUT (változó,input_formátum) ;
Az INPUT függvény a megadott formátumban olvassa be a változót.
A következő példa 666666.66 értéket írja ki a LOG-ba:
DATA konv;
karakter='666,666.66';
num=INPUT(karakter,COMMA10.);
PUT num;
RUN;
Adatállományok felépítése
A SAS adatállományok nem mások, mint táblázatok. Ezeket SAS programokkal olvashatjuk, írhatjuk,
elemezhetjük és feldolgozhatjuk. A táblázat oszlopait változóknak,
a sorokat pedig megfigyeléseknek nevezzük.