Un programSAS const dintr-o secven de pai trimis, pentru execuie, motorului SAS.
n continuare aceste secvene vor fi referite ca seciuni.
Seciunile pot fi seciuni de date (DATA steps) i seciuni de proceduri (PROC steps).
Seciunile de date sunt, de obicei, folosite pentru a crea tabele de date n format SAS
(Data Set) pe baza unor alte tabele SAS, fiiere text sau n alte formate, precum i
pentru a actualiza tabele deja existente.
- Una din modalitile prin care SAS Enterprise Guide folosete seciunea de
date const n manipularea datelor n Grila de date (Data Gread), unde, de
exemplu, se poate aduga o nou coloan la datele deja existente.
- alt modalitate implic folosirea procedurilor de import a datelor (Import
Wizard),
Seciunile de proceduri sunt, de obicei, folosite pentru a efectua prelucrri i
interogri, pentru a genera rapoarte, a sintetiza date sau pentru a genera grafice.
Seciunile de date ncep cu cuvntul DATA iar cele de proceduri cu cuvntul PROC i se
termin de cele mai multe ori cu directiva RUN.
Fecare seciune este executat complet, nainte s se treac la urmtoarea seciune.
Produsul SAS conine, de asemenea i declaraii globale, care afecteaz ntreg mediul
SAS i rmn valide de la o seciune DATA sau PROC la alta (de exemplu directivele
OPTIONS i TITLE), pn cnd ele sunt schimbate de alte directive globale sau pn se
ncheie sesiunea de lucru SAS.
Fiecare prelucrare din SAS Entreprise Guide corespunde uneia sau mai multor proceduri.
Pentru a determina care procedur sau proceduri corepund unei anumite prelucrri, se
selecteaz ferestra procedurilor (din meniul bar se selecteaz opiunile View > Task
List > Tasks by Name). Prelucrrile vor fi afiate n ordine alfabetic, mpreun cu
procedurile asociate. De asemenea i opiunea, Help permite s se identifice procedura
SAS corepunztoare. n fereastra Help, selecnd opiunea About <task name> din tabul Contents i butonul Syntax Reference, utilizatorul va fi capabil s vizualizeze codul
procedurii.
Sintaxa codului SAS
Declaraiile SAS au urmtoarele caracteristici:
ncep, de obicei, cu un cuvnt cheie
ntotdeuna de termin cu punct i virgul ( de exemplu: title 'Orders Analysis';)
aceast regul este foarte important deoarece un character de tipul ; pus incorrect n
cadrul codului SAS poate genera mesaje de eroare greu de interpretat
pentru a separa cuvintele, se pot folosi unul sau mai multe spaii libere sau caractere
de spaiere
declaraiile pot ncepe i se pot termina n orice coloan
scdere
*
nmulire
/
mprire
**
ridicare la putere
negare
SAS nu este case-sensitive. Numele fiecrei variabile va fi reinut aa cum va fi
ntlnit prima oar i apoi, la generarea rapoartelor, va fi utilizat ca atare.
Numele variabilelor, precum i ale seturilor de date nu pot fi mai mari de 32 de
caractere i trebuie s nceap cu o liter sau underscore ( _ ). Celelalte caractere ale
numelui pot fi litere, cifre sau underscore dar nu i caracterele spaiu, -, %
Seturile de date SAS (SAS data set) conin dou pri:
parte de descriere
o parte de dat ( nu numai valoarea ci i informaii despre aceasta ca lungimea,
eticheta i formatul).
Datele nu pot fi dect de dou tipuri numerice sau character.
n cadrul exemplului din slide 2 Declaraia LIBNAME furnizeaz produsului SAS
Entreprise Guide un pointer ctre o locaie de memorie a sistemului de operare unde sunt
stocate fiiere SAS. Dac datele sunt rezidente pe un sistem de operare Windows,
declaraia LIBNAME refer un director n care sunt stocate datele.
Seciunea de date DATA poate include declaraii care
creaz tabele SAS sau
manipuleaz tabele existente.
Dup cum se poate vedea n exemplul din slide 2 n aceiai seciune pot fi introduse
declaraii pentru mai multe tabele.
Procedura PRINT tiprete observaiile dintr-o tabel SAS utiliznd n acest scop, o
parte sau toate variabilele din aceasta. Procedura corespunde prelucrrii List Data din
cadrul opiunilor SAS Enterprise Guide.
Procedura MEANS calculeaz principalii indicatori statistici pentru diferite variabilele
numerice. Aceast procedur corespunde prelucrrii Summary Statistics din SAS
Enterprise Guide. O declaraie VAR (prescurtarea pentru variabile) furnizeaz procedurii
PROC MEANS o list de variabile de analiz (care trebuie s fie numerice) pentru care
vor fi calculate statisticile. Fara declaraia VAR procedura va calcula statisticile pentru
toate variabilele numerice ale setului de date.
Declaraia INFILE indic sursa de provenien a datelor, n exemplul din slide 2 discul
E directorul date sas, fiierul orders.txt.
Declaraia INPUT este una dintre cele patru metode diferite utilizate de SAS pentru
citirea rndurilor de date.
Programul din figura 2 utilizeaz metoda list input adecvat pentru valori de
date separate prin delimitatori.
- n SAS delimitatorul implicit este caracterul spaiu.
- SAS poate de asemenea s citeasc date separate prin ali delimitatori (de
exemplu sau tab) cu modificri minore n declaraia INFILE.
- Cnd se utilizeaz pentru citirea datelor metoda list input programatorul va
trebui numai s introduc numele pe care dorete s l atribuie fiecrei valori
de dat. Aceste nume se numesc nume de variabile i trebuie s respecte
regulile de sintax ale acestora.
- Este de remarcat faptul c semnul $ care urmeaz dup numele de variabil
Order_No specific faptul c valorile acestei variabile sunt de tip character.
Dac nu exist semnul $ motorul SAS presupune c valorile sunt numere i
vor fi stocate ca valori numerice SAS.
Seciunile DATA sau PROC se termin de obicei cu declaraia RUN, dar pentru anumite
platforme aceasta poate s lipseasc, o seciune considerndu-se c se termin acolo unde
ncepe o alt seciune DATA sau PROC.
n exemplul din slide 3 textul care urmeaz declaraiei TITLE, plasat ntre ghilimele
simple sau duble, va fi afiat la nceputul fiecrei pagini de ieiri SAS.
Dup cum s-a precizat mai sus, declaraia TITLE este o declaraie global ceea ce
nseamn c efectul ei nu se reduce la secunea din care ea face parte ci se propag n
ntreg mediul SAS pn cnd el va fi schimbat prin intermediul altei declaraii TITLE.
n acest context este bine s se plaseze o declaraie TITLE naintea fiecrei proceduri
care va produce ieiri pentru a uura citirea i nelegerea informaiilor din pagin.
Cnd se iese din sesiunea de lucru SAS titlurile se reseteaz i este nevoie s se introduc
noi declaraii TITLE dac ele sunt necesare.
Procedura FREQ (numit i PROC FREQ) este una dintre preocedurile built-in din
SAS. Ea numr frecvenele valorilor datelor unor variabile.
Pentru a indica care sunt variabilele implicate se va aduga o declaraie suplimentar:
TABLES (sau TABLE). Dup cuvntul TABLES, se enumr variabilele dorite. Dac
declaraia se omite procedura va calcula frecvenele pentru toate variabilele din setul de
date.
Vizualizarea codului
n cadrul unui proiect SAS, pot fi vizualizate toate elementele codului, dar pot fi editate
numai nodurile de cod (Code Node) care conin cod SAS, realiznd dublu-clik pe
acestea.
Un nod de cod poate include urmtoarele elemente:
copia codului generat de o prelucrare aferent unei opiuni SAS din proiect
un program SAS creat i salvat anterior
un cod creat de ctre utilizator
n cadrul unui proiect, un nod de cod vid poate fi inserat selectnd din meniul bar
opiunile File New Code.
Pentru a vizualiza ntreg codul necesar generrii unei prelucrri de ieire se vor selecta
opiunile Tools Options Task General Display all generated SAS code in
task output.
n SLIDE 8 este prezentat un exemplu de cod detaliat pentru generarea rezultatelor n
format HTML, PDF sau SAS.
n continuare va fi exemplificat modalitatea de vizualizare i o parte din sintaxa codului
generat de ctre SAS Entreprise Guide, pentru obinerea unui raport HTML prin
intermediul prelucrrii List Data. O dat realizat aceast prelucrare, ea va fi afiat n
fereastra Project Explorer (slide 9).
Pentru a vizualiza codul necesar generrii acestui rezultat se va realiza dublu-click pe
pictograma Code din cadrul procedurii List Data. n mod implicit, n fereastra Process
Flow nu sunt afisate codul i log-ul prelucrrii, ele putnd fi accesate realiznd clickdreapta pe pictograma aferent ei i selectnd opiunea Open Code.
n Slide 10 este prezentat codul aferent procedurii PRINT.
Dup cum se poate observa n figur, PROC PRINT reprezint numele unei seciuni de
cod n cadrul creia exist mai multe opiuni sau declaraii care au urmtoarele
semnificaii:
opiunea DATA - definete tabela SAS care se va fi utilizat n prelucrare