Sunteți pe pagina 1din 8

Seminar 2 SAS

1.Importul fiierelor flat


De reinut
Fiierele flat conin nregistrri ntre care nu exist nici o interrelaionare. Avantajul este acela c ocup mai mult spaiu dect fiierele structurate. Totui, necesit ca aplicaia care le folosete s cunoasc modul n care datele sunt organizate n fiier. Exemple de fiiere flat sunt fiiere text, fiiere ASCII sau fiiere secveniale. Un fiier text cu lime fix are un format specific care permite salvarea datelor/informaiilor textuale ntr-o manier organizat. Este un tip special de fiier n care formatul este definit de limea coloanei, de caracterele folosite pentru spaiere i de alinierea la stnga sau dreapta. Limea coloanei este specificat sub forma unui numr de caractere. Spaierea datelor se face folosind caracterul spaiu (sau orice caracter se dorete) n cazul n care datele ocup mai puine caractere dect limea specificat pentru coloana respectiv. Se creeaz programabil. ntr-un fiier text delimitat fiecare linie de text reprezint o nregistrare, iar cmpurile sunt separate prin caractere cunoscute. Delimitatori frecvent utilizai sunt caracterul tab (\t) sau diferite caractere de punctuaie. Delimitatorul trebuie ntotdeauna s fie un caracter care nu se regsete n date. Se pot crea ntr-un editor de text sau folosind aplicaii de calcul tabelar sau pentru baze de date (ex. Microsoft Excel, Microsoft Access). Considerm ca exemplu un fiier text care conine numele, prenumele i vrsta persoanelor, delimitate prin simbolul linie vertical (|): Popescu|Maria|35 Ionescu|Damian|42 Diamandescu|Victor|29

Scop: Importul a diferite tipuri de fiiere flat n SAS Enterprise Guide. Problema 1: ntr-un proiect nou s se importe sursa de date Orders.txt. Acesta
este un fiier text de lime fix care conine comenzile referitoare la produsele companiei ABC din trimestrul curent. Prezentarea cmpurilor fiierului este urmtoarea: Cmpul 1: Numrul comenzii, poziia 1-5 Cmpul 2: Numrul de identificare al produsului, poziia 7-10 Cmpul 3: Cantitatea comandat, poziia 13-15 Cmpul 4: Preul de vnzare, poziia 17-22 Cmpul 5: Venit, poziia 25-32

Pai de urmat:
1. n proiectul activ se vor selecta, din meniul opiunea File Import Data, apoi se selecteaz Local Computer i se alege locaia unde ai salvat datele de lucru.

2. Pentru a ncepe importul fiierului text, se marcheaz fiierul orders.txt i apoi se selecteaz opiunea Open. 3. Salvai rezultatul ca o tabel SAS cu numele comenzi. 4. Selectai formatul de fiier. Se poate alege dintre cele dou opiuni: Fiiere delimitate. Pentru a specifica un delimitator care nu se regsete in list, selectai Other. Fiiere cu coloane de lime fix

5. n rigl trebuie s precizai locul n care ncepe fiecare coloan. Pentru acest lucru, facei click n rigl sau n interiorul textului fiierului previzualizat. Punctele de marcare care apar pot fi mutate cu ajutorul mouse-ului n alt locaie sau pot fi ndeprtate prin mutarea lor n afara spaiului n care apare grila. 6. Dac fiierul conine numele cmpurilor pe care vrei s le folosii ca nume de coloane, selectai File contains field names on record number . Introducei i numrul nregistrrii care conine numele cmpurilor. 7. Se poate bifa opiunea de a redenumi coloanele pentru a fi compatibile cu conveniile de nume ale SAS. Aceste convenii conin reguli ca: numele ncepe cu o liter sau cu caracterul _ underscore ; conine litere, cifre sau caracterul underscore, are o lungime de maxim 32 de caractere, nu poate fi inclus ntre ghilimele duble, nu este case sensitive nu face difereniere ntre litere mari i mici. 8. Pentru a specifica numrul nregistrrii care conine prima linie de date. Introducei o valoare n cmpul Data records start at record number. 9. Pentru a specifica ultima nregistrare pe care dorii s o importai, selectai Limit the number of records read to i introducei numrul ultimei nregistrri n caseta alturat. 10.Selectai Next pentru a defini atributele cmpurilor. 11.Modificai atributele cmpurilor n felul urmtor: Cmpul 1 nu l introducei n tabela rezultat. Pentru cmpul 2 se schimb atributul Name cu IDProd, Label cu Identificator produs i Len. cu 4. Pentru cmpul 3 se schimb atributul Name cu Cantitate i Label cu Cantitate comandata Pentru cmpul 4 se schimb atributul Name cu PretVanzare i Label cu Pretul de vnzare. Pentru acest cmp se selecteaz tipul (Type) Currency i formatul de ieire (Output format) DOLLARw.d. Se schimb limea la 8 i numrul de poziii zecimale la 2.

Pentru cmpul 5 se schimb atributul Name cu Venit i Label cu Venit. Pentru acest cmp se selecteaz tipul (Type) Currency i formatul de ieire (Output format) DOLLARw.d. Se schimb limea la 10 i numrul de poziii zecimale la 2.

Problema 2: Creai un fiier text delimitat prin caracterul tab care s conin pe
prima linie numele cmpurilor, respectiv: nume, prenume, varsta i salariu. Urmtoarele 5 rnduri trebuie s conin nregistrri valide. Importai acest fiier n SAS ca o tabel cu numele angajai. Formatul de ieire pentru cmpul salariu trebuie s permit vizualizarea acestuia ca o valoare n moneda Euro. Eventualele coloane generate, care nu conin informaii utile, se vor terge la editarea atributelor.

Pai de urmat:
1. Creai fiierul text potrivit cerinelor problemei i salvai-l cu numele angajati (*.txt). 2. n proiectul activ, selectai din meniu opiunea File Import Data, apoi selectai Local Computer i alegei locaia unde ai salvat fiierul text. 3. Pentru a ncepe importul fiierului text, marcai fiierul angajati.txt i apoi apsai Open. 4. Dup selectarea opiunii Open, este necesar parcurgerea celor patru pai din caseta de dialog aprut pe ecran, pentru a realiza importului fiierului text. 5. La primul pas se selecteaz Encoding pentru alegerea setului de caractere utilizat la reprezentarea datelor din fiierului importat. 6. De asemenea, la primul pasul se poate selecta salvarea rezultatului ca o tabel SAS cu numele situatie_angajati. Apsai Next pentru a ajunge la pasul al doilea. 7. La pasul al doilea selectai formatul de fiier i tipul delimitatorului dintre cmpuri. 8. Selectai File contains field names on record number dac fiierul conine numele cmpurilor ce vor fi utilizate ca nume de coloane i introducei numrul nregistrrii care conine numele cmpurilor. n cmpul Data records start at record number se introduce numrul nregistrrii care conine prima linie de date din fiierului text. 9. Se poate bifa opiunea de a redenumi coloanele pentru a fi compatibile cu conveniile de nume ale SAS. Aceste convenii conin reguli ca: numele ncepe cu o liter sau cu caracterul _ underscore ; conine litere, cifre sau caracterul underscore, are o lungime de maxim 32 de caractere, nu poate fi inclus ntre ghilimele duble, nu este case sensitive nu face difereniere ntre litere mari i mici. 10.Apsai Next pentru a trece la pasul al III-lea: definirea atributele cmpurilor. 11.Modificai atributele cmpului Salariu astfel nct s ndeplineasc cerinele problemei. Pentru acest cmp se selecteaz tipul (Type) Currency i formatul

de ieire (Output format) EUROw.d. Se schimb limea la 10 i numrul de poziii zecimale la 2. 12.Apsai Next, pentru a trece la ultimul pas. 13.Cel de-al IV-lea pas conine opiuni avansate: Pentru a include datele n codul SAS generat ca parte a unei declaraii DATALINES, selectai opiunea Embed the data within the generated SAS code. Dac selectai aceast opiune, atunci rezultatul va include un program SAS care se poate rula din nou sau distribui altor utilizatori. Opiunea Remove characters that can cause transmission errors from text-based data files se folosete, spre exemplu, atunci cnd dorim s importm caractere speciale, caracteristice unei anumite limbi, care este posibil s nu fie recunoscute de server.

14.Se selecteaz Finish, pentru finalizarea importului fiierului de date de tip text. Problema 3: Creai un tabel HTML care s conin informaiile de mai jos. Acest tabel poate fi scris n MS Word i salvat ca pagin Web. Tranzacti e 176897 176898 176899 176900 176901 176902 Data 12/09/2009 12/09/2009 13/09/2009 13/09/2009 14/09/2009 14/09/2009 Valoare $1,340.2 $2,240.9 $500.0 $1,267.5 $5,120.4 $1,123.8

Importai tabelul HTML n SAS, ca o tabela cu numele tranzactii. inei cont de urmtoarele observaii: a) cmpul Data trebuie s afieze n tabela generat mai nti luna, apoi ziua i anul; b) cmpul Valoare trebuie s afieze n tabela generat valoarea fr semnul de dolar n fa. Pentru a realiza aceste modificri trebuie s alegei formate de afiare potrivite pentru cele dou cmpuri.

Pai de urmat:
1. Creai tabelul de mai sus ntr-un document WORD i salvai-l cu numele tranzactii, ca pagina Web. (*.htm, *.html) 2. n proiectul activ selectai din meniu opiunea File Import Data, apoi selectai Local Computer i alegei locaia unde ai salvat fiierul text.

3. Pentru a ncepe importul fiierului text, marcai fiierul tranzactii.htm (/.html) i apoi selectai opiunea Open. 4. Dup selectarea opiunii Open, este necesar parcurgerea celor patru pai din caseta de dialog aprut pe ecran, pentru realizarea importului fiierului tranzactii. 5. La primul pasul se poate selecta salvarea rezultatului ca o tabel SAS cu numele situatie_tranzactii. Apsai Next pentru a ajunge la pasul al II-lea.

6. ntruct datele au fost introduse ntr-o form tabelar, nu mai este necesar specificarea delimitatorului cmpurilor. Selectai File contains field names on record number dac fiierul conine numele cmpurilor ce vor fi utilizate ca nume de coloane i introducei numrul nregistrrii care conine numele cmpurilor. Introducei i numrul nregistrrii care conine prima linie de date din fiierului text, n cmpul Data records start at record number. 7. Apsai Next pentru a trece la pasul al III-lea, definirea atributele cmpurilor. 8. Modificai atributele cmpului Data, astfel nct s ndeplineasc cerinele problemei, subpunctul a). Pentru acest cmp se selecteaz formatul de ieire (Output format) MMDDYYDw.d. Pentru ndeplinirea cerinei de la subpunctul b), se modific formatul de ieire (Output format) al cmpului Valoare. Se va modifica formatul de ieire (Output format) al cmpului Valoare, din Currency n Numeric, pentru a se elimina simbolul de dolar, cu limea de 10 i numrul de poziii zecimale de 2. 9. Apsai Next, pentru a trece la ultimul pas. 10.Cel de-al IV-lea pas conine opiuni avansate: Pentru a include datele n codul SAS generat ca parte a unei declaraii DATALINES, selectai opiunea Embed the data within the generated SAS code. Dac selectai aceast opiune, atunci rezultatul va include un program SAS care se poate rula din nou sau distribui altor utilizatori. Opiunea Remove characters that can cause transmission errors from text-based data files se folosete, de exemplu, atunci cnd dorim s importm caractere speciale, caracteristice unei anumite limbi, care este posibil s nu fie recunoscute de server.

11.Se apas Finish pentru finalizarea importului fiierului.

2.Lucrul cu tabele n Grila de Date (Data Grid)


Scop: Crearea unei tabele SAS prin rularea unui program SAS. Folosirea Grilei de
Date pentru : a) a terge linii i coloane, b) a modifica atribute ale coloanelor, c) a sorta tabele, d) a crea noi coloane folosind Expression Builder.

Problem: S se creeze pornind de la un cod surs SAS tabela UPDATEORDERS,


iar ulterior s se efectueze urmtoarele modificri asupra acesteia: tergerea coloanei UnitsInStock tergerea comenzii cu numrul 0713. Adugarea coloanei venituri (Revenue) ca produs dintre cantitate i preul de vnzare. Sortarea tabelei dup numele produsului.

1. Pai de urmat:

2. Inserai n proiect un program care creeaz o tabel SAS. Selectai File Open Program... din meniu. Selectai Local Computer. 3. Selectai fiierul CreateDataTable.sas Open. 4. Apsai butonul Run sau tasta F8 pentru a rula programul. Se creeaz i se adaug la proiect o nou tabel numit UPDATEORDERS. Iniial, tabela se afl n modul read-only. Pentru a trece n modul Update, astfel nct s putei edita tabela, debifai opiunea Edit Protect Data, pentru a schimba modul de protecie a fiierului de date. Observaie: Atunci cnd modificai o tabel n Grila de Date, modificai valorile effective ale datelor din tabel. Salvai o copie a tabelei, atunci cnd avei nevoie s pstrai o copie a datelor originale. Selectai Yes din fereastra care v apare pentru a comuta n modul Update. tergei coloana UnitsInStock fcnd click dreapta pe numele coloanei i selectnd opiunea de tergere. tergei rndul corespunztor comenzii anulate cu numrul 0713. Selectai numele coloanei OrderNum, i apoi EditFind din bara de meniu i cutai comanda dorit. Dup selectare, facei click dreapta pe observaie i selectai opiunea de tergere. Modificai numele i eticheta asociate coloanei AcctNumber, fcnd click dreapta pe numele coloanei i selectnd proprietile acesteia. Schimbai cele dou proprieti n CustID i respectiv Customer ID.

5. 6. 7.

8.

Not: Implicit, n Grila de Date i n casetele de dialog ale prelucrrilor sunt afiate numele coloanelor. Pentru a afia etichetele acestora., selectai opiunea Use labels for column names din meniul Tools Options, tab-ul DataData General 9. Inserai o nou coloan dup SellPrice: Click dreapta pe numele SellPrice, Insert Column 10.Coloana nou este de tip moned, i reprezint produsul dintre cantitate i preul de vnzare. Expresia dup care se calculeaz se scrie n cmpul Expression. 11.Modificai formatul de afiare a noii variabile, astfel nct s afieze semnul $ n faa valorii, s pun virgula separatoare pentru mii i s admit trei cifre zecimale. 12.Sortai datele dup numele produsului. (Butonul Filter and Sort) 13.Revenii la modul read-only n care datele sunt protejate. 14.Salvai proiectul.

3.Transpunerea tabelelor de date

Problem: S se creeze n SAS Enterprise Guide o tabel de date cu coninutul de

mai jos. Datele se refer la msurarea greutii unor persoane pe parcursul unui experiment. Coloana Cod reprezint identificatorul persoanei, Timp indic momentul la care s-a efectuat msurarea greutii memorate n coloane Greutate. Toate cele trei coloane au tipul numeric, fr zecimale. Co d 1 1 1 2 2 2 3 3 3 Tim p 1 2 3 1 2 3 1 2 3 Greuta te 70 73 81 64 61 58 96 93 91

S se transforme tabela de mai sus (care este o tabel de tipul mai-multentegistrri-per-subiect) ntr-o tabel care s permit analiza facil a datelor referitoare la evoluia n greutate a fiecrei persoane (tabel de tipul o-singurntegistrrare-per-subiect) i care s aib 4 cmpuri: Cod, Greutate1, Greutate2 i Greutate3. S se determine variaia de greutate a fiecrei persoane nregistrat ntre prima i ultima msurtoare. Se va utiliza prelucrarea TasksDataTranspose Pentru rezolvarea problemei folosii Help-ul pachetului de programe.

Pai de urmat:
1. n proiectul activ selectai din meniu opiunea File New Data, iar n caseta de dialog aprut, modificai numele fiierului ce urmeaz a se crea n Analiza_greutate dup care selectai directorul Work, unde acesta va fi salvat . 2. La cel de-al doilea pas, fiecare litera A, B, C etc. reprezint numele unei coloane pentru datele ce se vor introduce ulterior. Tabelul de mai sus este format din 3 coloane. Astfel, n caseta de dialog, la pasul al doilea, se vor modifica proprietile aferente primelor 3 coloane, identificate iniial prin literele A, B, i C. Proprietile care se vor modifica pentru fiecare coloan n parte, n vederea obinerii structurii tabelare n SAS asemntoare cu cea a tabelului de mai sus, sunt: numele coloanei, eticheta acesteia, tipul date ce vor fi adugate n coloan, formatul datelor i dimensiunea acestora. 3. Cu ajutorul sgeilor ce despart denumirile coloanelor din stnga casetei de dialog de proprietile coloanelor, se poate modifica ordinea de apariie in structura tabelar a coloanelor. 4. Dup ce au fost definite caracteristicile celor 3 coloane necesare realizrii structurii tabelare de mai sus, restul coloanelor, simbolizate prin litere (D, E, F etc.), se terg cu ajutorul opiunii DELETE, simbolizat prin X. Aceasta opiune se

gsete ntre zona ce conine denumirile coloanelor din stnga casetei de dialog si zona din dreapta a casetei de dialog, care conine proprietile coloanelor. 5. Apsai Finish, pentru a se crea structura tabelara n SAS. 6. n structura tabelar obinut, introducei valorile numerice din tabelul de mai sus. 7. Pentru rezolvarea cerinelor problemei, selectai Task Data Transpose. 8. n caseta de dialog aprut optai pentru protejarea datelor (Yes). n cea de-a doua caset de dialog aprut, n seciunea Data se utilizeaz opiunea drag and drop, pentru a muta fiecare variabil din stnga n zona corespunztoare din dreapta, astfel nct s fie rezolvate cerinele problemei. Se grupeaz dup Cod (Group Analysis by), se alege variabila timp pentru crearea de noi coloane ( New column names), i se alege variabila greutate pentru a fi transpus (Transpose Variable) n coloanele noi create. 9. n seciunea Options modificai prefixul coloanelor noi ce se vor crea, Columns n Greutate. 10.Utilizai Run pentru a se realiza transpunerea datelor. 11.Se poate opta pentru deprotejarea datelor ( EditProtect Data ), pentru a fi permis tergerea coloanelor inutile (coloanele cu numele variabilei transpuse i cea cu eticheta acesteia). 12.Pentru a rezolva cerina problemei, referitoare la determinarea variaiei de greutate a fiecrei persoane nregistrat ntre prima i ultima msurtoare, trebuie s fie debifat opiunea de protejare a datelor. 13.Utilizai click dreapta in zona tabelar, acolo unde dorii sa adugai o coloan nou, n care se va calcula diferena de greutate. n caseta de dialog aprut trebuie introduse caracteristicile noii coloane: nume - vargreutate, etichet Variaia de greutate, tipul - numeric. n seciunea Expression utilizai butonul aferent acestei opiuni, extindei tabela n care se lucreaz, din directorul Tables, i tastai formula matematic, pentru calculul diferenei de greutate ntre prima i ultima msurtoare. Pentru a scrie expresia se realizeaz dublu-click pe numele variabilelor ce trebuie utilizate, iar ntre acestea se folosesc simbolurile matematice corespunztoare. 14.Utilizai Ok pentru a obine rezultatele diferenei de greutate ntr-o coloan nou. din

S-ar putea să vă placă și