Sunteți pe pagina 1din 63

IV.4.4.

Exemplu de filtrare a datelor în cadrul unei interogări

Prin filtrarea datelor se înţelege reţinerea, dintr-un set de date, numai a acelora care îndeplinesc
un anumit criteriu. De exemplu, în exemplul de mai sus, a fost creat un raport care conţine
nivelul stocului la toate produsele, dar utilizatorul doreşte să se vizualizeze numai produsele
pentru care este nevoie de reaprovizionare. Pentru a se realiza acest lucru, este nevoie să se reţină
numai rândurile care îndeplinesc un anumit criteriu, bazat pe valorile dintr-o coloană (figura
IV.4.38). În Query Builder, selectarea rândurilor poartă numele de setarea unui filtru.

Figura IV.4.38. Conceptul de filtrare

Pentru a determina dacă produsul trebuie reaprovizionat, trebuie verificat dacă numărul de unităţi
din stoc a scăzut sub nivelul de reaprovizionare, fără a se fi lansat o comandă de reaprovizionare.
Pentru a modifica raportul este necesar să se seteze un filtru prin care să se verifica cele două
condiţii, anume:
 Unităţi în stoc <= Nivelul de reaprovizionare.
 Unităţi comandate = 0.

Când se creează mai multe filtre, trebuie să se specifice dacă relaţia dintre filtre este de tip “şi”
(AND) / “sau” (OR). În exemplul de mai sus sunt necesare ambele condiţii, deci relaţia va fi
AND. Trebuie remarcat faptul că, atunci când se combină mai multe filtre, relaţia AND este
implicită.

Aplicatrea unui filtru într-o interogare

În exemplul precedent, deja a fost creată o interogare cu denumirea Valoare Stoc care generează
un raport cuprinzând stocul produselor. Să presupunem că se doreşte să fie afişate numai
produsele pentru care este necesară reaprovizionarea. În acest caz este necesară definirea unei
condiţii de filtrare prin care să se afişeze numai rândurile (produsele) pentru care valorile din
coloana Unităţi în stoc să fie mai mici decât valorile din coloana Nivel de reaprovizionare.
Pentru aceasta se vor urma următorii paşi:
1. În fereastra Project Tree, se realizează clic dreapta pe Valoare Stoc, apoi se selectează
Modify Valoare Stoc pentru a redeschide şi a modifica interogarea.
2. Se dă clic pe tab-ul Filter Data (figura IV.4.39.).

Figura IV.4.39. Selectarea opţiunii de filtrare

3. În lista de coloane a interogării se realizează dublu-clic pe coloana NumarUnitatiStoc.


4. Se realizează clic pe lista drop-down Operator şi se selectează Less than or equal to
(figura IV.4.40).

Figura IV.4.40. Editare filtru – selectare operator de filtrare


5. Se rexecută clic pe lista drop-down Value, apoi clic pe tab-ul Columns.

6. Se selectează coloana NivelReaprovizionare. Se efectuează clic pe butonul OK, iar


rezultatul este vizualizat în figura IV.4.41.

Figura IV.4.41. Condiţia unui filtru

Definirea unei a doua condiţii de filtrare, care va conţine numai rândurile pentru care valoarea
din coloana NumărUnităţiComandă este egală cu 0, se realizează în felul următor (figura
IV.4.42.):
1. În lista de coloane se efectuează dublu-clic pe NumărUnităţiComandă.
2. Se efectuează clic în box-ul Value şi se introduce valoarea 0.
3. Clic OK.
Figura IV.4.42. Realizare filtru

În figura IV.4.42. se poate observa că în cadrul clauzei WHERE, cele două condiţii sunt
combinate prin intermediul operatorului AND. Dacă s-ar dori (ceea ce nu este cazul în exemplul
de faţă) schimbarea operatorului, ar trebui urmaţi paşii de mai jos:

4. Se efectuează clic pe butonul Combine Filter (figura IV.4.43.).

Figura IV.4.43. Vizualizarea combinaţiei condiţiilor de filtrare

5. Se efectuează clic pe operatorul AND dintre cele două condiţii de filtrare. Prin această
operaţie se va deschide un meniu prin care se permite schimbarea relaţiei dintre filtre
(figura IV.4.44.).
Figura IV.4.44. Schimbarea combinaţiei condiţiilor de filtrare

Execuţia interogării şi vizualizarea rezultatelor se realizează în felul următor:

1. Se efectuează clic pe butonul Run. Când va apărea întrebarea dacă se doreşte înlocuirea
interogării precedente cu noua interogare se va efectua clic pe butonul No. Astfel, în
proiect se va crea o nouă interogare care va trebui redenumită Produse de comandat.

2. Vizualizare rezultate: în raport sunt incluse numai rândurile (produsele) care corespund
ambelor condiţii (figura IV.4.45.).

Figura IV.4.45. Vizualizare raport


Adăugarea unei coloane şi execuţia interogării
Pentru o analiză aprofundată, ar fi necesare informaţii adiţionale pentru a determina dacă aceste
produse afişate în raportul Produse de comandat mai pot fi comandate. Aceste informaţii pot fi
obţinute prin adăugarea în interogare a coloanei Discontinuu. Pentru adăugarea acestei coloane şi
pentru a o poziţiona prima în raport, trebuie urmaţii paşii de mai jos:
1. În fereastra Project Tree, se execută dublu-clic pe interogarea Produse de comandat
pentru a o deschide.
2. Se execută dublu-clic pe coloana Discontinuu pentru a o adăuga în interogare.
3. Se execută clic pe butonul săgeată Up până când coloana Discontinuu ajunge pe prima
poziţie din listă.
Execuţia interogării şi vizualizarea rezultatelor se realizează în felul următor:
1. Se execută clic pe butonul Run. La întrebarea dacă se doreşte înlocuirea rezultatelor
precedente se va răspunde prin apăsarea butonului Yes.
2. Se execută clic pe Maximize Workspace.
3. Se poate vizualiza rezultatele interogării şi se observă faptul că produsele cu o valoare
discontinuă egală cu 1 sunt discontinue şi deci nu mai trebuie reaprovizionate, fiind
vizibile numai produsele care trebuie reaprovizionate în acest moment.
IV.4.5. Joncţiunea tabelelor în cadrul unei interogări
Joncţiunea tabelelor se foloseşte atunci când se doreşte:
 Să se calculeze o nouă coloană folosind ca intrări date din coloane stocate în tabele diferite.
 Să se adauge informaţii dintr-o tabelă asociativă pentru a le introduce în tabela de analiză.
 Să se identifice dacă valorile unei coloane se regăsesc sau nu în alte tabele.

Tabelele care participă la joncţiune trebuie să aibă cel puţin o coloană comună. Această
coloană trebuie să conţină valori care să se potrivească exact sau care să poată fi cu
uşurinţă comparate între tabele (figura IV.4.46.).

Figura IV.4.46. Principiul joncţiunii între două tabele


O joncţiune creată între coloane ale căror valori au corespondent exact se numeşte joncţiune
internă şi reprezintă tipul de joncţiune implicită în SAS Enterprise Guide. Pe lângă acest tip,
sunt suportate şi alte tipuri de joncţiuni, cum sunt joncţiunile externe.
Într-o interogare se pot realiza joncţiuni între maxim 32 de tabele diferite.
Atunci când, într-o interogare, se adaugă mai mult de o tabelă, Query Builder încearcă automat
să realizeze joncţiunea între tabele, pe baza coloanelor care au acelaşi nume şi acelaşi tip.
Dacă în tabelele pe care se doreşte realizarea joncţiunii nu există coloane cu acelaşi nume, dar
există coloane care conţin date de acelaşi tip, joncţiunea poate fi realizată manual.
Query Builder nu poate să realizeze în mod automat joncţiunea dintre tabele atunci când acestea
nu conţin coloane cu nume şi conţinuturi indentice. Totuşi, dacă cele două coloane conţin
aceleaşi informaţii, joncţiunea dintre tabele se poate face manual (figura IV.4.47).

Figura IV.4.47. Joncţiunea după coloane cu nume diferit

Când utilizatorul încearcă să adauge o tabelă cu care Query Builder nu poate realiza în mod
automat joncţiunea, va deschide fereastra Tables and Joins. Pentru a realize joncţiunea dintre
tabele se va executa clic-dreapta pe coloana din prima tabelă şi se va selecta opţiunea Join
[column-name] with apoi, din meniu se va selecta coloana corespondentă din cealaltă tabelă.
O altă modalitate de a realize joncţiunea este de a selecta numele coloanei din una dintre tabele,
apoi, ţinând apăsat butonul stâng al mouse-ului, se va muta pointerul pe numele coloanei
corespunzătoare din cealaltă tabelă.
În tabelul IV.3. sunt prezentate tipurile de joncţiuni posibil de realizat într-o interogare. Zona
întunecată marchează rândurile pe care le va returna ca ieşire tipul respectiv de joncţiune.
Tabelul III.3. Tipurile de joncţiuni
Tip joncţiune Rânduri returnate de rezultatul interogării
inner Numai rândurile care au corespondent

Tabela1 Tabela 2

left outer Toate rândurile (care au corespondent şi care nu au corespondent)


din prima tabelă a interogării, plus rîndurile care au corespondent din
cea de-a doua tabelă

Tabela
Tabela 2
1

right outer Toate rândurile (care au corespondent şi care nu au corespondent)


din cea de-a doua tabelă a interogării, plus rîndurile care au
corespondent din prima tabelă

Tabela
Tabela 2
1

full outer Toate rândurile din amândouă tabelele

Tabela
Tabela 2
1

IV.4.6. Exemplu de joncţiune a tabelelor în cadrul unei interogări


Ca prezentare a facilităţii de joncţiune a tabelelor, în exemplul de mai sus, în care deja s-a
determinat care produse trebuie reaprovizionate şi care sunt produsele discontinue, se doreşte să
se creeze un raport referitor la furnizori, astfel încât să se poată comanda produsele şi la nevoie
să se poată verifica statutul lor. Informaţiile necesare acestui raport nu sunt stocate într-o singură
tabelă. Pentru a afla informaţiile referitoare la furnizorul unui anumit produs, este necesară
joncţiunea a două tabele:
 tabela Produse, care a fost utilizată şi in exemplul precedent, care conţine informaţii
referitoare la produse;
 tabela FurnizoriInfo, un fişier Microsoft Excel care conţine informaţii referitoare la
furnizori, cum ar fi numele firmei, numele şi numărul de telefon al persoanei de contact din
cadrul firmei.
Pentru fiecare produs care necesită reaprovizionare sau este discontinuu (produsele din interogarea
Produse de comandat), se doreşte să se adauge, într-un nou raport, următoarele informaţii: nume
firmă, nume de contact, telefon.
Ambele tabelele, Produse şi FurnizoriInfo, conţin o coloană comună şi anume furnizorid, aşa
încât Query Builder poate să realizeze în mod automat joncţiunea dintre ele.
În raport vor fi afişate numai produsele din ultimul raport realizat, dar în cadrul fiecărui rând vor
apărea şi informaţiile referitoare la furnizori.
Adăugarea tabelelor şi selectarea coloanelor în joncţiune
În exemplul precedent a fost creată interogarea Produse de comandat pentru a genera un raport
care să prezinte produsele care trebuie să fie reaprovizionate. Se presupune că, în acest raport,
trebuie să fie adăugate informaţiile de contact ale furnizorului, astfel încât produsele să poată fi
comandate cu uşurinţă. Pentru a introduce în raport aceste informaţii, este necasar ca în
interogare să fie adăugată tabela FurnizoriInfo. Pentru a realiza acest lucru se vor parcurge
următorii paşi:
1) În fereastra Project Tree, se execută clic drepta pe interogarea Produse de comandat
pentru a o deschide şi a o modifica (Modify Produse de comandat).
2) Se execută clic pe butonul Add Tables (figura IV.4.48.).

Figura IV.4.48. Adăugare tabelă pentru realizarea joncţiunii


3) În fereastra Open Data, se selectează Project şi se execută dublu-clic pe tabela Data
Imported from FurnizoriInfo.xls (figura IV.4.49.).

Figura IV.4.49. Selectarea unei tabele de adăugat

4) Se execută clic pe butonul Join (figura IV.4.50.).

Figura IV.4.50. Vizualizarea butonului Join

În fereastra Tables and Joins se pot vedea care sunt coloanele pentru realizarea joncţiunii
tabelelor (figura IV.4.51.).
Figura IV.4.51. Fereastra Tables and Joins

5) Se execută clic pe simbolul joncţiunii pentru a deschide o fereastră care oferă mai multe
informaţii specifice în legătură cu tipul joncţiunii şi coloanele utilizate (figura IV.4.52.).

Figura IV.4.52. Proprietăţile joncţiunii

6) Se execută clic pe butonul Close.


7) Pe lista de coloane din tabela FurnizoriInfo se execută dublu-clic pe următoarele coloane:
numefirmă, numecontact, telefon.
8) Se execută clic pe butonul Run. Când va apărea întrebarea dacă se doreşte înlocuirea
rezultatelor precedentr se execută clic pe butonul Yes. Rezultatele opţinute pot fi
vizualizate în figura IV.4.53.

Figura IV.4.53. Vizualizare rezultate interogare

În acest exemplu, în interogarea Produse de comandat care a fost creată pentru a afla informaţii
referitoare la furnizori, Query Builder a realizat în mod automat joncţiunea între două tabele
după coloana codfurnizor. Oricum, uneori este nevoie să se realizeze joncţiunea dintre tabele
care nu conţin coloane cu acelaşi nume. Dacă tabelele au acelaşi tip de date, joncţiunea poate fi
realizată manual.

Joncţiunea manuală a tabelelor

În exemplul anterior, interogarea Stoc Produse, a generat un raport al nivelului stocurilor pentru
toate produsele. În acest moment, în plus, se doreşte să se includă în raport şi numele categoriei
de produse. Tabela Produse conţine o coloană care conţine codurile categoriilor. Tabela
Categorii Produse are o coloană care conţine codurile categoriilor şi o altă coloană conţinând
numele categoriilor de produse.

Se va realiza joncţiunea dintre tabele manual şi produsele din raport vor fi sortate întâi după
numecategorie şi apoi în ordinea descrescătoare ale valorilor variabilei valoarestoc. Pentru a
realiza acest lucru vor fi urmaţi următorii paşi:
1. În fereastra Project Tree, se execută clic dreapta pe interogarea Produse de comandat
pentru a o deschide şi a o modifica (Modify Produse de comandat).
2. Se execută clic pe butonul Add Tables.
3. În fereastra Open Data, se selectează Project.
4. În fereastra Add From Project, se execută dublu-clic pe tabela Categori produse.
5. Pe ecran se va deschide o fereastră de mesaj care va informa utilizatorul că va realiza
joncţiunea tabelelor manual. Se va efectua clic pe butonul OK (figura IV.4.54).

Figura IV.4.54. Mesaj de joncţiune manuală a tabelelor

6. În lista coloanelor din tabela Produse se realizează clic pe numele coloanei codcategorie
se ţine mouse-ul apăsat până cursorul ajunge deasupra câmpului codcat din tabela
Categorii Produse (figura IV.4.55).

Figura IV.4.55. Realizarea joncţiunii manuale a tabelelor

7. Se va executa clic pe butonul OK şi apoi pe Close.

Adăugarea coloanei numecategorie, specificarea ordinii de sortare şi execuţia interogării.


1. Se execută dublu-clic pe numecategorie.
2. Se execută clic pe tab-ul Sort Data.
3. Se execută dublu-clic pe numecategorie.
4. Se execută clic pe butonul săgeată Up.
5. Se execută clic pe butonul Run. La întrebarea dacă se doreşte înlocuirea rezultatelor se
va răspunde No şi interogarea va fi redenumită Categorii Produse. Rezultatele interogării
pot fi vizualizate în figura IV.4.56.

Figura IV.4.56. Vizualizare rezultate interogare

IV.4.7. Crearea unei noi coloane prin înlocuirea valorilor


O coloană calculată se poate realiza, pe lângă modul arătat anterior, şi prin înlocuirea
(recodificarea) unor valori individuale sau a unui interval de valori dintr-o anumită coloană.
Tabelul IV.4. prezintă câteva exemple de valori recodificate.
Tabel IV.4. Exemple de valori recodificate
Element Exemplu Valoare
O valoare individuală M Masculin
F Feminin
O zonă de valori 90–100 A
80–89 B
70–79 C
60–69 D
sub 60 F

Se poate observa că recodificarea unei coloane este similară cu aplicarea unui format utilizator la
o coloană. Aplicarea unui format pe o coloană schimbă modul de afişare a valorilor datelor, în
timp ce recodificarea duce la adăugarea unei coloane noi.
În continuare, se va explicita modul de recodificarea a datelor. În următorul exemplu se va
urmări să se determine informaţii referitoare la profitul din vânzări, obţinut din produsele interne
sau din import. Tabela FurnizoriInfo conţine o coloană, numită ţară, care reprezintă ţara de
provenienţă a furnizorului produselor. Pentru a afişa datele din coloana ţară, fie ca achiziţie
internă fie ca achiziţie import, se va adăuga o nouă coloană, numită sursa, prin recodificarea
valorilor din coloana ţară. Valoarea România va fi recodată ca achiziţie internă, iar celelalte
valori ca achiziţie import. Coloana ţară rămâne neschimbată.
Se va realiza o interogare pentru a afla care a fost profitul obţinut din comenzile de produse
realizate prin achiziţie internă sau prin achiziţie din import. În acest scop, va fi de preferat să se
creeze, mai degrabă, o tabelă de date (data table) decât un raport HTML, deoarece această
tabelă va putea fi folosită ca intrare pentru o prelucrare a SAS Enterprise Guide care va realiza
un raport agregat sub formă tabelară (Summary Table).

Recodarea valorilor unei coloane

Anterior a fost creată interogarea Interogare pentru FurnizoriInfo. Pentru obţinerea


informaţiilor dorite se va adăuga o nouă colonă numită sursa prin recodificarea valorilor din
coloana ţară, iar datele vor fi sortate după valorile din coloana sursa, iar apoi după cele din
coloana ţară. Pentru a realiza aceste cerinţe se vor parcurge următorii paşi:
1. În fereastra Project Tree, se execută clic-dreapta pe interogarea Query_for_
FurnizoriInfo à Modify Query_for_ FurnizoriInfo.
2. Se execută clic pe butonul Add a New Computed Column şi se selectează opţiunea
Recoded column (figura IV.4.57).

Figura IV.4.57. Selectarea tipului de coloană

3. În fereastra Select Item, se selectează coloana ţară, apoi se execută clic pe Next.
4. În fereastra Specify a Replacement, se execută clic pe Add (figura IV.4.57).

Figura IV.4.58. Fereastra Specify a Replacement


5. În lista Value se selectează Romania şi se execută clic pe butonul OK
6. În box-ul With this value se introduce textul Achiziţii Interne
7. Se execută clic pe butonul OK.
8. În zona Replace all other values with, se selectează This value şi se introduce textul
Achiziţii Import
9. În box-ul Column Name se introduce numele coloanei Sursa (figura IV.4.59), apoi se
execută clic pe Next.

Figura IV.4.59. Introducerea numelui coloanei recodate

10. În fereastra Summary of properties se execută clic pe butonul Finish, apoi Run şi se
obţine situaţia din figura IV.4.60.

Figura IV.4.60. Vizualizare rezultate


Mutarea în sus a coloanei Sursă şi sortarea datelor.
1. Pentru a muta coloana în capul listei, se selectează coloana Sursă şi se execută clic pe
butonul săgeată Up (figura IV.4.61).

Figura IV.4.61. Mutarea coloanei Sursă

2. Se execută clic pe tab-ul Sort Data.


3. Se execută dublu-clic pe coloana sursă, apoi dublu-clic pe coloana ţara.

Specificarea unui nou tip de ieşire pentru o interogare

Pentru a creea, ca ieşire din interogare, o tabelă de date şi nu un raport HTML, se va trece de
opţiunea implicită a interogării astfel:
1. În fereastra Query Builder, se execută clic pe butonul Options şi se selectează
Options for This Query (figura IV.4.62).

Figura IV.4.62. Opţiunile butonului Options


2. Se activează opţiunea Override preferences set in Tools → Options (figura
IV.4.63.)

Figura IV.4.63. Opţiunile rezultatelor

3. Se selectează Data table.


4. Se execută clic pe butonul OK.
5. Se execută clic pe butonul Run.

De remarcat că raportul conţine noile valori în coloana Sursă

IV.4.8. Execuţia de prelucrări pe rezultatele unei interogări


Pentru multe dintre interogările create, ieşirile au fost sub formă de rapoarte HTML. Uneori, un
raport este suficient, dar alteori este nevoie ca pe rezultatele interogării, înainte să se creeze
raportul, să se realizeze alte analize. Aşa cum s-a văzut în subcapitolele precedente, dacă la
formatul de ieşire al interogării se specifică data table sau data view, pe baza rezultatelor
interogării se pot executa diverse alte prelucrări ale SAS Enterprise Guide.
De multe ori poate să apară necesitatea creeri unor rapoarte formatate care să poată fi publicate
sau trimise prin e-mail. De exemplu una dintre tabelele din interogarea Profit şi anume
VânzăriProduse, conţine informaţii care se pot schimba zilnic. După ce a fost setată interogarea
şi raportul pe care îl va genera, se vor putea realiza rulări ale interogării şi executa prelucrări,
pentru a obţine raportul referitor la profit, actualizat zilnic.

Crearea de rapoarte tip Summary Tables pe baza rezultatelor interogării

În acest raport, pentru fiecare produs se doreşte afişarea profitului mediu şi a profitului total,
precum şi numărul de comezi aferent lui. În plus, nu se vor mai repeata informaţiile Achiziţie
internă sau Achiziţie Inport pentru fiecare produs ci o singură dată pentru fiecare categorie.Dacă
se va încerca să se creeze acest raport direct din rezultatele interogării, se vor putea calcula
statistici descriptive (Descriptive Statistics) prin utilizarea mai multor coloane, dar nu se va
putea obţine prezentarea sub forma dorită. O alternativă este utilizarea prelucrării Summary
Tables pentru crearea raportului.

Cele două rapoarte prezentate în figura IV.4.64. reprezintă:


 un raport HTML generat ca ieşire a interogării;
 un raport Summary Tables generat prin execuţia unei prelucrări a SAS Enterprise
Guide pe baza ieşirii interogării (o tabelă).

Figura IV.4.64. Două variante de rapoarte

Pentru a o face mai uşor de utilizat, funcţia de prelucrare Summary Tables are o versiune de
tip wizard. Wizard-ul Summary Tables nu are toate opţiunile de formatare ale funcţiei
Summary Tables, dar poate fi util pentru multe rapoarte.
Utilizarea wizard-ului Summary Tables pentru a realiza un raport pe baza unei
interogări
Se doreşte realizarea unui raport formatat care să evidenţieze profitul mediu şi profitul total
rezultate din vânzarea fiecărui produs, grupate pe sursele de achiziţie. Pentru realizarea acestui
raport se va utiliza wizard-ul Summary Tables, urmând paşii de mai jos:
1. În fereastra Project Explorer, se selectează datele de ieşire ale interogării pentru a le
activa.
2. Se selectează Tasks Describe Summary Tables Wizard… (figura IV.4.65.).
Figura IVI.4.65. Selectarea wizard-ului Summary Tables

3. În pagina 1 se execută clic pe butonul Next.


4. În pagina 2 se specifică variabilele de analiză pentru raport. Se execută clic pe butonul
Add şi se selectează variabila Profit. Ca funcţie statistică se selectează Sum (figurile IV.4.66 şi
IV.4.67).

Figura IV.4.66. Selectarea variabilei analizate

Figura IV.4.67. Selectarea funcţiei statistice


5. Deoarece se doreşte şi calculul profitului mediu, se execută din nou clic pe butonul Add şi
se selectează din nou variabila Profit, apoi se execută clic pe box-ul Statistic pentru
Profit, se selectează, din lista drop-down, Average şi se execută clic pe butonul Next
(figura IV.4.68).

Figura IV.4.68. Adăugarea funcţiei Average

6. În pagina 3 se specifică variabilele după care se va face clasificarea în raport. Pentru


aceasta, în zona Rows se execută clic pe butonul Add şi se selectează variabila Source.
7. Se realizează, din nou, clic pe butonul Add şi se selectează variabila NumeProdus
(figura IV.4.69).

Figura III.4.69. Adăugarea variabilei NumeProdus

7. Se realizează clic pe butonul Next.


În pagina 4 a wizard-ului, se specifică totalurile raportului, astfel:
1. Se realizează clic pe lista drop-down Rows şi se selectează opţiunea Totals at each level
(figura III.4.70).
Figura IV.4.70. Selectarea opţiunii Totals at each level

2. Se realizează clic pe butonul Next.


3. În pagina 5 a wizard-ului se realizează, din nou, clic pe butonul Next.
În pagina 6 a wizard-ului se specifică titlul raportului şi se şterg notele de subsol ale acestuia,
astfel:
1. În box-ul Table Titles se introduce titlul raportului,
2. Se realizează clic pe box-ul Footnote pentru a putea şterge zona rezervată notelor de
subsol.
3. Se va executa prelucrarea Summary tables şi se vor putea vizualiza rezultatele
acesteia, respectiv raporul dorit şi apoi se realizează clic pe butonul Finish. Astfel s-a
realizat, pe baza rezultatelor interogării, un raport totalizator formatat (figura IV.4.71).

Figura IV.4.71. Exemplu de raport totalizator


IV.4.9. Crearea şi utilizarea parametrilor într-o interogare

Se urmăreşte să se afle profitul generat de vânzările produselor din anume categorii. Acest lucru
poate fi realizat în două variante şi anume:
 să se utilizeze un filtru, pentru a selecta datele aparţinând unei anumite categorii de produse
şi apoi, de fiecare dată când se doreşte vizualizarea rezultatelor din diferite categorii, să se
editeze condiţia de filtrare.

1. să se creeze un parametru. Se poate realiza o listă de selecţie care să permită utilizatorului, ca


înainte de execuţia interogării, să selecteze una sau mai multe categorii de produse. Când într-o
interogare se utilizează un filtru cu parametru, acest filtru este dinamic.
Crearea unei interogări care să accepte un parametru se realizează în doi paşi:
1. Crearea unui parametru care să permită selectarea uneia sau mai multor variabile.
2. Setarea unui filtru bazat pe acest parametru.
Când se crează un parametru, de fapt se crează o variabilă specială numită macro-variabilă.
Aceasta stochează valorile furnizate de utilizator, respectiv, în exemplul de mai sus categoriile de
produse selectate. Un filtru dintr-o interogare poate referi valoarea stocată într-o macro-variabilă.
De exemplu în interogare se poate specifica, ca parametru, o macro-variabilă numită
&Categorie şi apoi să se seteze un filtru pe valoarea egală cu valoarea din variabila
&Categorie.
Parametru
Macro-Variabilă Operator Valoare furnizată de utilizator
&Categorie = Mobilier

Filtru
Coloană Operator Valoare
NumeCategorie = &Categorie

Când se execută o interogare cu parametru, utilizatorul va fi solicitat să selecteze o valoare


pentru coloană şi apoi se vor afişa numai rândurile corespunzăroare acelei coloane. În exemplul
de mai sus, utilizatorului i se va cere să selecteze o anumită caregorie de produse şi apoi vor fi
afişate numai produsele din categoria resepectivă (figura IV.4.72).
Figura IV.4.72. Selectarea valorii pentru un parametru

Parametrii pot fi creaţi, în Query Builder, prin intermediul ferestrei Parameters Manager,
care poate fi deschisă din meniul Tools prin selecţia opţiunii Parameters.
De exemplu, pentru a crea o interogare care să genereze profitul realizat de o anumită categorie
de produse, selectate de utilizator în momentul execuţiei interogării, se va realiza un parametru
pentru variabila NumeCategorie, respectiv o listă cu categoriile de produse, iar apoi un filtru
care va utiliza valorile stocate în parametru. În acest scop se vor urma paşii de mai jos:

Crearea parametrului

1. Se selectează opţiunile View Prompt Manager (figura IV.4.73).

Figura IV.4.73. Activarea ferestrei Prompt Manager

2. Se execută clic pe butonul Add din fereastra Prompt Manager (figura IV.4.74).

Figura IV.4.74. Adăugarea unui parametru


3. În câmpulul Name se introduce textul Category
4. În câmpulul Display text se introduce numele Selectaţi o categorie de produse
(figura IV.4.75).

Figura IV.4.75. Specificarea parametrului

5. Se execută clic pe tab-ul Prompt Type and Values.


6. Se realizează clic pe lista drop-down Prompt type şi se selectează opţiunea Text,
apoi User selects values from a static list (figura IV.4.76).

Figura IV.4.76. Specificarea tipului parametrului


7. Se execută clic pe Get Values… şi se selectează setul de date sursă/coloana
corespunzătoare.
8. Se obtin valorile efective cu ajutorul butonului Get Values, apoi se selectează toate
valorile (figura IV.4.77).

Figura IV.4.77. Selectarea sursei de căutare (tabelei) pentru parametru

9. Se încarcă lista de variabile din setul de date sursă şi apoi se execută clic pe butonul
OK (figura IV.4.78).

Figura IV.4.78. Selectarea sursei de căutare pentru parametru

Crearea filtrului

Specificarea condiţiilor de filtrare se ca face urmând paşii de mai jos:


1. În fereastra Project Explorer se realizează dublu-clic pe setul de date de lucru,
accesându-se Query Builder din meniu.
2. Se selectează toate variabilele, apoi se execută clic pe tab-ul Filter Data.
3. Se execută dublu-clic pe CategoryName.
4. Se execută clic pe lista drop-down Value, apoi clic pe tab-ul Prompts.
5. Se selectează &Categorie.
6. Se execută clic pe butonul OK. În acest moment condiţia de filtrare este setată.
Execuţia interogării, selectarea unei categori de produse şi vizualizarea rezultatelor.
1. Se realizează clic pe butonul Run.
2. După deschiderea ferestrei, se execută clic pe lista drop-down şi se selectează categoria
dorită.
3. Se execută clic pe butonul Run şi se vizualizează rezultatele.

IV.4.10. Gruparea, sintetizarea şi filtrarea datelor grupate


Până în prezent, s-au creat interogări ale căror ieşiri afişează rânduri individuale din tabele. De
exemplu, aceasta interogare afişează un rând pentru fiecare comandă pentru un anumit produs.
Dar ce se întâmplă dacă se doreşte să se totalizeze rapid datele pe categorii de produse? De
exemplu, să presupunem că este nevoie să se vadă profitul pentru diverse categorii de produse,
dar numai profitul total pentru fiecare categorie, nu profitul pentru fiecare comanda. În
exemplele precedente s-a văzut cum se poate utiliza opţiunea Summary Tables pentru a crea
un tabel totalizator formatat. De asemenea, pentru a grupa şi sintetiza datele, se poate utiliza
facilitatea de interogare.
Pentru a grupa şi sintetiza datele într-o interogare se vor parcurge următorii paşi:
 Se atribuie o variabilă de grupare pentru a defini grupurile care se doresc a se vedea;
 Se selectează o variabilă de analiză pentru sintetizare şi pentru calculul statisticilor;
 Se elimină coloanele care nu sunt folosite nici pentru grupare şi nici pentru sintetizare,
obţinându-se astfel, la ieşire, numai un singur rând pentru fiecare variabilă de grupare.
Când se aplică prelucrarea Summary Statistics pe o coloană, este creată o nouă coloană cu un
nume care se termină cu numele statisticii aplicate. De exemplu, dacă se selectează statistica
“Mean” pentru coloana Salariu, coloana calculată va fi numită “Salariu_Mean”.
Filtrarea datelor grupate
În exemplele precedente au fost sintetizate datele prin grupare. Rezultatul interogării a afişat un
grup pentru fiecare categorie de produse, împreună cu profitul total şi profitul mediu. În
continuare, se doreşte să se vadă numai categoriile de produse pentru care profitul este mai mare
sau egal cu $9,000. Pentru a selecta grupuri pe baza profitului se poate utiliza facilitatea “group
filter”. Filtrul de grup se aplică numai la valori sintetizate într-un grup, nu la rânduri individuale
de date. Când se setează filtrul de grup, interogarea selectează doar categoriile în care profitul
este mai mare sau egal cu 9.000.
Filtrul pentru datele sintetizate se defineşte prin intermediul tab-ului Filter Data şi a opţiunii
Prompt Manager cu ajutorul cărei se realizează parametrul Limita (figura IV.4.79).

Figura IV.4.79. Filtrarea datelor sintetizate

Crearea unui filtru de grup

Prelucrarea Summary Statistics a generat informaţii de sinteză (suma şi media) privind


fiecare categorie de produse şi profit. Se presupune că se doreşte doar un subset de informaţii,
astfel încât raportul să arate doar categoriile de produse care au generat un profit total mai mare
de 9.000.
Acest lucru se poate realiza prin specificarea unui filtru de grup pentru coloana Profit_Sum.
Paşii care trebuiesc urmati sunt cei de mai jos.
Setarea unui filtru de grup.
1. În fereastra Project Explorer, double-clic pe setul de date rezultat ca urmare a
prelucrării Summary Statistics.
2. Clicpe tab-ul Filter Data.
3. Se selectează Profit_Sum. Din lista Operator se selectează Greater than.
4. În caseta Value se selectează &Limita din Prompts.
5. Clic OK.
Se rulează interogarea, se introduce valoarea pentru limita aferentă coloanei Profit_Sum şi se
vizualizează rezultatele.

IV.4.11. Utilizarea jonctiunilor de tip Outer

În exemplele precedente, dacă este nevoie să se cunoască informaţii referitoare la furnizorii de


produse s-a creat interogarea în care s-a utilizat o joncţiune de tip inner join pentru a selecta
numai rândurile care au corespondent atât în tabela Produse, cât şi în tabela Furnizori. Cu toate
acestea, uneori poate fi necesar să se utilizeze joncţiuni de tip outer joins.
O joncţiune de tip outer join combină şi afişează toate rândurile care au corespondent în toate
tabelele plus o parte sau toate rândurile care nu au corespondent. Acest tip de joncţiune se poate
privi ca o expandare a joncţiunii inner; outer join returnează toate rândurile returnate de inner
join plus altele adiţionale. În continuare se va exemplifica modul de combinare a tabelelor Produse
şi Furnizori. Aceste tabele sunt combinate automat după coloana ID_Furnizor. Tabelul de mai jos
descrie rezultatele diferitelor tipuri de joncţiuni outer ale tabelelor Produse şi Furnizori,
considerând că tabela Produse este prima tabelă din joncţiune.

Tabel IV.5. Tipuri de joncţiuni outer


Tip de Outer Join Rezultatul interogării
left toate rândurile din Produse, plus rândurile cu corespondent în Furnizori

Produs
Furnizori
e

right toate rândurile din Furnizori, plus rândurile cu corespondent în Produse

Produs
Furnizori
e

full toate rândurile atât din Produse, cât şi din Furnizori


Produs
Furnizori
e

IV.5. Prelucrarea datelor şi personalizarea rezultatelor


Prelucrările SAS EG genereză cod SAS şi rezultate formatate. Prelucrările includ proceduri SAS care
variază de la simple liste de date, la cele mai complexe proceduri analitice, cum ar fi credit scoring.

IV.5.1. Caracteristici generale ale procedurilor de date


După ce, în proiect au fost introduse datele, se pot crea rapoarte sau se pot executa proceduri
pentru analiza datelor. În acest scop se poate selecta o procedură din Task List sau din meniul
Tasks.
Anumite prelucrări beneficiază de un instrument opţional de tip Wizard care poate fi folosit
pentru a seta rapid rezultatele prelucrării. Prelucrările Summary Statistics, Summary
Tables, Bar Chart, Pie Chart şi Line Plot beneficiază de un asistent de configurare opţional
de tip Wizard. Prelucrările create cu un astfel de instrument sunt identificate cu o baghetă pe
iconiţa corespunzătoare prelucrării. Pentru a reveni la caseta de dialog tradiţională a prelucrării,
după ce aceasta a fost creată cu un asistent de configurare, se face clic dreapta pe pictograma
asociată prelucrării şi se selectează opţiunile Open -> Open In Advanced View....

IV.5.1.1. Selectarea variabilelor analizate şi a rolurilor


În SAS Enterprise Guide, fereastra aferentă prelucrărilor (task-urilor) are un format standard
(figura IV.5.1), astfel încât utilizatorul, dacă este familiarizat cu execuţia unui task, să le poată
utiliza cu uşurinţă pe celelalte.
În partea stângă a fiecărei ferestre de prelucrare se găseşte un panou de selecţie care se utilizează
pentru selecţia grupurilor de opţiuni aferente prelucrărilor. De asemenea, toate procedurile au o
zonă de date (Data) prin intermediul căreia utilizatorul va aloca variabilele la rolurile prelucrării.
Figura IV.5.1. Exemplu de fereastră de prelucrare

Box-ul Variables to assign listează variabilele (coloanele) din setul de date. Pictograma
alăturată fiecărei variabile indică tipul acesteia şi anume reprezintă o variabilă de tip
character, o variabilă de tip numeric în format timp, o variabilă de tip numeric în format
dată, iar o variabilă de tip numeric în format monedă.
Box-ul Task roles listează modurile în care variabilele pot fi utilizate de către prelucrare.
Pentru a putea fi executată a anumită prelucrare, este necesar ca cel putin o variabilă să fie
selectată în rolul List variables.
Pictogramele din dreptul fiecărui rol indică tipul de variabilă care poate fi alocat acelui rol. De
exemplu, rolul List variables acceptă toate tipurile de variabile, dar rolul Total of acceptă
numai variabile numerice.
Atribuirea variabilelor la roluri se realizează prin tragerea lor din lista Variables to assign în
rolul adecvat aflat în lista Task roles. Dacă unui anumit rol au fost asignate mai multe
variabile, acestea pot fi ordonate prin intermediul butoanelor cu săgeţi.
Pentru anumite roluri, numărul de variabile care le pot fi asignate este limitat, caz în care limita
este indicată sub numele rolului. De asemenea, pentru fiecare prelucrare există mai multe opţiuni
care, în panelul de selecţie, sunt grupate pe categorii. Multe dintre prelucrări pemit specificarea
de titluri şi de footnote-uri pentru rezultatele aferente lor.
Din moment ce au fost asignate variabile la roluri şi au fost setate opţiunile prelucrării, SAS
Enterprise Guide generează cod SAS pe care utilizatorul îl poate vizualiza prin intermediul
butonului Preview code.
Prin utilizarea butonului Run, codul este trimis motorului SAS şi executat. După execuţie,
utilizatorul poate accesa datele de intrare, precum şi toate ieşirile prelucrării făcând clic pe tab-
urile din zona de lucru.
Deşi, când se execută prelucrarea fereastra aferentă ei se închide, selecţiile făcute sunt salvate şi
se poate redeschide prelucrarea prin utilizarea butonului Modify Task din panelul de
instrumente al zonei de lucru.
Dacă prelucrarea nu este deschisă în zona de lucru, ea se poate redeschide şi făcând clic-dreapta
pe numele ei din zona aferentă arborelui proiectului (Project Tree) şi selectând opţiunea
Modify task-name.

IV.5.1.2. Exportarea rezultatelor

Rezultatele prelucrării pot fi exportate sau trimise prin e-mail din zona aferentă arborelui
proiectului (Project Tree) sau din cea aferentă fluxului de process (Process Flow).
Rezultalele pot fi exportate ca raport într-un fişier în format SAS Report (*.srx) sau în alte
formate ca html, xml sau pdf (figura IV.5.2.).

Figura IV.5.2. Exportul rezultatelor prelucrărilor


Raportul poate fi exportat direct sau exportul se poate adăuga ca un pas de export la proiect,
astfel încât raportul să fie exportat de fiecare dată când proiectul este rulat.

Trimiterea rezultatelor se face prin e-mail, putându-se opta pentru una dintre cele trei variante: e-
mail recipient – prin care se trimite o arhiva .zip care conţine documentul raport SAS cu
extensia .srx, e-mail recipient as a step in project sau documente Word, Excel, Power
Point.

IV.5.1.3. Includerea parametrilor în prelucrări


Parametrii oferă posibilitatea utilizatorului de a introduce date în SAS Enterprise Gude în timpul
executării codului. Includerea parametrilor în cod creşte capacitatea de reutilizare a codului
(figura IV.5.3. şi IV.5.4).
Se pot defini parametri care să ceară utilizatorului să selecteze sau să introducă una sau mai
multe valori atunci când se execută o prelucrare, o interogare, un program sau o procedură
stocată.

De asemenea, parametrii permit utilizatorului să furnizeze numele unei variabile pentru a rula o
prelucrare sau o valoare pentru expresia unui filtru într-o interogare sau program.

Figura IV.5.3. Definirea opţiunilor generale ale unui parametru


Figura IV.5.4. Definirea tipului si variabilelor unui parametru

La momentul execuţiei, pentru fiecare parametru se generează una sau mai multe macro-
variabile. Definirea unui parametru se poate realiza selectând din meniul View opţiunea
Prompt Manager.

IV.5.1.4. Personalizarea stilului de afişare


SAS Enterprise Guide foloseşte un stil implicit pentru afişarea rezultatelor generate în format
HTML. Un stil poate fi descris ca un set de specificaţii care controlează afişarea unui rezultat de
tip HTML şi care este bazat pe Cascading Style Sheets (CSS).
Un CSS este un fişier care conţine instrucţiuni despre modul cum să se afişeze conţinutul unui
document HTML. Un CSS poate controla aproape orice aspect al formatării unei pagini HTML,
inclusiv stiluri şi fonturi ale textului, culori, margini sau imagini. După modificarea unui stil,
rezultatul nu trebuie reexecutat pentru ca stilul să fie aplicat. Se poate adăuga un stil nou prin
referirea unui stil stocat într-un document extern sau pornind de la un stil predefinit în SAS EG.
Mai departe, utilizatorul poate pesonaliza stilul cu ajutorul Style Manager. Stilurile predefinite
oferite de SAS nu pot fi modificate din editor, numai o copie a acestora poate fi modificată.
Instrumentul Style Manager (figura IV.5.5.). poate fi folosit pentru a modifica stilul implicit
sau pentru a adăuga, şterge sau edita stiluri existente.
Figura IV.5.5. Style Manager

IV.5.1.5. Combinarea rezultatelor unui proiect

Rapoartele compuse permit combinarea rezultatelor mai multor prelucrări din proiect într-un
singur document. Facilitatea se accesează selectând opţiunile File ð New ð Report (figura
IV.5.6.).
Figura IV.5.6. Raport compus

Atunci când se previzualizează sau salvează documentul, SAS Enterprise Guide include
rezultatele HTML create la ultima execuţie a fiecărei prelucrări. Documentul este actualizat
dinamic.

IV.5.2. Generarea statisticilor Summary

Prin intermediul funcţiei Summary Statistics pot fi realizate un raport, care poate include
histograme şi, la alegere, prin opţiunea Save statistics to dataset, un set de date în format SAS,
care poate fi exportat în Microsoft Excel (figura IV.5.7.).
Figura IV.5.7. Rezultate Summary Statistics

IV.5.2.1. Prelucrarea Summary Statistics


Prelucrarea Summary Statistics dispune de un wizard precum şi de un box standard de dialog
care pot fi utilizate pentru setarea rezultatelor.
Box-ul standard de dialog poate fi accesat din meniul Task selectând opţiunea Describe şi apoi
opţiunea Summary Statistics, iar wizard-ul prin intermediul opţiunilor Describe ->
Summary Statistics Wizard (figura IV.5.8.).

Figura IV.5.8. Lansarea în execuţie a prelucrării Summary Statistics


Prelucrarea Summary Statistics are următoarele roluri (figura IV.5.9.):
 Calcularea de statistici pentru variabilele numerice selectate de utilizator.
 Specificarea variabilelor ale caror valori definesc grupuri.

Figura IV.5.9. Rolurile prelucrării Summary Statistics

În plus, prin setarea opţională (Group variable) şi intermediul butonului Advanced, sunt
oferite următoarele facilităţi:
 Group variable - pentru fiecare grup vor fi generate statistici descriptive separate.
Grupurile vor fi determinate prin intermediul valorilor variabilelor asignate acestei
facilităţi.
 Frequency count - se va analiza frecvenţa de apariţie a unei variabile.
 Relative weight - se va defini o variabilă ale cărei valori vor fi utilizate pentru a calcula
medii ponderate, dispersii şi sume.
 Copy Variable - variabilele asignate acestei facilităţi vor fi incluse ca valiabile adiţionale în
setul de date de ieşire.
Prin intermediul acestei prelucrări, utilizatorul poate opta pentru obţinerea anumitor statistici şi
rezultate (figurile IV.5.10. şi IV.5.11.)

Figura IV.5.10. Alegerea rezultatelor


Figura IV.5.11. Alegerea statisticilor
O dată realizată prelucrarea Summary Statistics prin intermediul wizard-ului aferent ei, efectuând
clik-stânga pe pictograma ei din cadrul ferestrei Project Tree, şi selectând opţiunea Open în
Advanced View (figura IV.5.12.), utilizatorul poate alege între alte câteva opţiuni avansate, şi
anume:
 sortarea după o variabilă de clasificare
 aplicarea unui anumit format unei variabile de clasificare
 includerea în calcule a valorilor lipsă
 specificarea de combinaţii pentru variabilele de clasificare

Figura IV.5.12. Opţiuni adiţionale


Dacă pentru rolul Classification se selectează una sau mai multe variabile, pentru specificarea
nivelului de sumarizarea a datelor se poate selecta una dintre următoarele opţiuni (figura
IV.5.13.):
 sumarizarea numai după combinaţia tuturor variabilelor de clasificare (N-way only)
 sumarizarea tuturor combinaţilor variabilelor de clasificare (All ways)

 indicarea unor combinaţii specifice pe baza cărora vor fi sintetizate datele (Specify
ways)

De exemplu, dacă se selectează trei variabile pentru clasificare, utilizatorul poate specifica toate
combinaţiile, două variabile sau trei variabile prin introducerea în câmpul text a cifrelor 1, 2 sau
3. Dacă sumarizarea se face după 0 variabile, se vor calcula statisticile pentru întreg setul de
date.

Figura IV.5.13. Combinarea variabilelor de clasificare - opţiuni adiţionale

IV.5.2.2. Prelucrarea Summary Tables

Prelucrarea Summery Tables afişează statisticile descriptive, pentru una sau mai multe variabile,
sub forma unui tabel tabular (figura IV.5.14).
Figura IV.5.14. Prelucrarea Summary Tables

În cadrul acestei prelucrări, utilizatorul poate seta variabilele analizate, statisticile care vor fi
calculate precum şi forma raportului (figura IV.5.15).

Figura IV.5.15. Realizarea raportului Summary Tables

Variabilele analizate trebuie să fie întodeauna numerice. Variabilele de clasificare sunt, de obicei
de tip caracter sau numerice discrete, dar pot fi şi valori numerice continue care au aplicat un
format discret.
Modul în care se selectează variabilele analizate, statisticile precum şi variabilele de clasificare
se poate observa în figurile IV.5.16. şi IV.5.17.
Figura IV.5.16. Selectarea statisticilor

Figura IV.5.17. Selectarea variabilelor de clasificare

Includerea tipurilor de totaluri pentru coloane, rânduri şi pagini se poate realiza conform figurii
IV.5.18.

Figura IV.5.18. Specificarea totalurilor


Se vor obţine rezultate intermediare pe baza cărora utilizatorul poate să stabilească ce modificări
mai doreşte să efectueze (figura IV.5.19.).

Figura IV.5.19. Rezultate intermediare

Rolul Summary Tables se foloseşte pentru a modifica etichetele, fonturile şi formatele din
tabela rezultatelor (figura IV.5.19).

Figura IV.5.19. Definirea formei tabelei


Pentru îmbunătăţirea aspectului tabelei rezultatelor (figura IV.5.20.), se poate utiliza opţiunea
Table Proprieties a prelucrării (prin clic-dreapta în zona aferentă fiecărui element şi
schimbarea proprietăţilor), pentru a realiza:
 schimbarea etichetei pentru valorile lipsă (din simbolul . în alt simbol)
 schimbarea modului implicit de afişare a valorilor statisticilor din raport

 asignarea unei etichete descriptive la o variabilă sau eliminarea unei etichete

 asignarea unui format de afişare specific la fiecare statistică descriptivă, în mod individual

 adăugarea de note adiţionale sau text în zona box-ului tabelei


Figura IV.5.20. Schimbarea propietăţilor elementelor tabelei

IV.5.3. Realizarea unei prognoze cu ajutorul modelului ARIMA


(Autoregresive Integrated Moving Average)

Setul de date de intrare sunt formate din înregistrări din 10 în 10 minute, începând de la
01.01.2014 până la 31.03.2014 (ora 19:50) a puterii produse de un panou solar pentru asigurarea
apei calde menajere. Datele au fost prelucrate, puterea generată fiind raportată la puterea maximă
generată.
În exemplul următor vom realiza prognoza pe termen scurt pentru următoarele 23, respectiv 12
de intervale de timp (cca. 4, respectiv2 ore).
Importăm în SAS datele de intrare (peste 50,000 de înregistrări) stocate într-un fişier în format
.xlsx.
În continuare, sunt descrise câteva forme ale modelului ARIMA(p,d,q):
- model autoregresiv ARIMA(p,0,0) , de ordin p. Această componentă este adecvată pentru
procese sau fenomene repetabile;
- model cu medie mobilă ARIMA(0,0,q), de ordin q. Această componentă este adecvată
pentru procese sau fenomene mai puţin predictibile;
- model mixt ARIMA (p,0,q), cunoscut şi ca ARMA;
- model autoregresiv integrat şi medie mobile ARIMA(p,d,q), unde d este ordinul de
diferenţiere.
Pentru a aplica modelul ARIMA (1,0,0), vom selecta Tasks à Time Series àArima
Modeling and Forecasting (figura IV.5.21.).

Figura IV.5.21. Prelucrarea ARIMA

Pentru setarea analizei urmăm paşii:


 În tab-ul Data se selectează Norm pentru Time series variable şi Write time pentru
Time ID variable.
 În tab-ul Estimation à Enable estimation steps se bifează Perform estimation
steps.
 În tab-ul Model definition, se adaugă 1 în caseta Factors for AR model.
 În tab-ul Forecasting à Enable forecasting steps, se bifează Perform forecasting
steps.
 În tab-ul Options, la opţiunea Time interval between option se selectează Number of
units, la opţiunea Time units per interval se introduce 600, iar la opţiunea Number of
intervals to forecast se introduce 23 (precum în figura IV.5.22.).
 În tab-ul Plots and Results, se bifează Forecasts şi Save forecasts şi se execută prin
butonul Run.

Figura IV.5.22. Etapele prelucrării ARIMA

În tabul Results obţinem un raport pe care îl analizăm.


Figura IV.5.23. Raportul prelucrării ARIMA

În tabul Output Data (figura IV.5.24.) exportăm rezultatele într-un fişier Excel pentru a calcula
eroarea medie absolută în procente - MAPE (Mean Absolute Percentage Error). Se vor
prelua din setul de date complet efectiv înregistrate din 31.12.2014 (de la 20:00 la 23:50) şi se
vor compara cu datele din aceeaşi perioadă, prognozate cu modelul ARIMA.

unde: Yactual – valoarea înregistrată, Yforecast – valoare prognozată.


Figura IV.5.24. Setul de date rezultat al prelucrării ARIMA

Acest indicator statistic arată acurateţea modelului. MAPE (eroarea medie absolută în procente)
calculat pentru 4 ore din 31.12.2014 este 13,32%, iar MAPE pentru 2 ore este 9,58%.
Pentru a aplica modelul ARIMA (1,1,1), pornind de la fişierul importat
time_series_prognoza.xlsx, vom selecta Tasks à Time Series àArima Modeling and
Forecasting.

Pentru setarea analizei urmăm paşii:


 se selectează din tabul Identification à Differencing
 se bifează Difference the responce series, Differencing lags = 1 (dacă nu este
introdus).
 în tab-ul Estimation à Enable estimation steps se bifează Perform estimation
steps.
 în tab-ul Model definition, se adaugă 1 în caseta Factors for AR model şi 1 în
caseta Factors for MA model.
 în tab-ul Forecasting à Enable forecasting steps, se bifează Perform
forecasting steps.
 în tab-ul Options, la Time interval between option se selectează Number of
units, la Time units per interval se introduce 600, iar la Number of intervals to
forecast se introduce 23.
 în tab-ul Plots and Results, se bifează Forecasts şi Save forecasts.
 Se lansează în execuţie prin butonul Run.
În tabul Results se obţine un raport pe care care va fi analizat. Prin intermediul opţiunii
Output Data se exportă rezultatele într-un fişier Excel pentru a calcula eroarea medie absolută
în procente - MAPE (Mean Absolute Percentage Error). Se vor compara datele efectiv
înregistrate din fişierul time_series_complet.xls cu datele prognozate. MAPE calculat pentru 4
ore din 31.12.2014 este 4,76%, iar MAPE pentru 2 ore este 4,51%.

IV.5.4. Crearea şi aplicarea formatelor personalizate


Formatele pot fi utilizate fie pentru a controla aspectul afişării datelor, fie pentru a grupa valorile
datelor pentru analize (figura IV.5.25.). În exemplul prezentat, se realizează şi se utilizează un
format personalizat (Marja_cantitate) pentru coloana Cantitate.
Pentru a realiza un nou format se accesează procedura Create Format, din maniul bară iar apoi
se selectează opţiunile Data ð Create Format…. Selectând mai departe Options se deschide
fereastra din figura IV.5.26., prin intermediul căreia de pot introduce opţiunile legate de format,
respectiv numele formatului, tipul acestuia (numeric sau character), lăţimea lui şi locaţia în care
el va fi stocat.
Figura IV.5.25. Formate personalizate
Figura IV.5.26. Fereastra Options

Câmpul Format name - Numele formatului trebuie să înceapă cu o literă sau cu caracterul
underscore şi nu se poate termina cu o cifră. Pentru un set complet de reguli pentru nume se va
selecta opţiunea Help din procedura Create Format.
Opţiunea Currently assigned libraries. WORK (temporary) – Implicit există numai pe
durata unei sesiuni SAS Enterprise Guide. Când se încheie sesiunea, formatul este şters. Aceasta
înseamnă că dacă se închide sesiunea de lucru apoi se redeschide, pentru a putea utilizeze
formatul, trebuie reexecutată procedura Create Format.
În fereastra Define formats (figura IV.5.27.), se construieşte o tabelă de corespondenţă pentru
a asocia valorile datelor cu valorile formatate. Se defineşte o etichetă pentru a specifica textul
care va fi afişat în locul datelor originale.

Tipuri de coloane
 Discrete - acceptă valori singulare, de exemplu Europa sau OK.
 Range - acceptă o valoare limita-minimă, cum ar fi 100 şi o valoare limită-maximă, ca 200,
pentru a defini o gamă de valori. Punctele extreme pot fi proiectate ca inclusive sau exclusive.
Trebuie remarcat faptul ca definiţiile formatului sunt case-sensitive. Prin urmare textul furnizat
prin intermediul câmpului Values al procedurii Create Format trebuie să fie identic cu textul
din coloana sau coloanele din tabela de date asupra cărora se va aplica formatul.
Dacă în coloana tabelului sunt stocate valori într-o varietate de forme, de exemplu OK, ok, oK
sau Ok, utilizatorul trebuie să definească, în definiţia formatului, fiecare variantă posibilă.

Figura IV.5.27. Fereastra Define Formats

În figura IV.5.28. se poate observa modul în care se definesc etichetele.


În box-urile Values nu este permisă introducerea cuvintelor cheie High şi Low. Acestea se vor
selecta din lista drop-down.
Simbolurile următoare indică dacă valorile limită ale gamei de valori sunt incluse sau excluse:
Exclude valorile din stânga sau din dreapta.
Include valoarea din stânga, dar exclude valoarea din dreapta.
Exclude valoarea din stânga, dar include valoarea din dreapta.
Include valoarile din stânga şi din dreapta.

Figura IV.5.28. Fereastra Define Formats – definire etichete

Aplicarea formatului la o coloană specifică

Utilizarea metodei de a specifica un format de coloană se aplică numai în cazul unei prelucrări
particulare (figura IV.5.29.).

Figura IV.5.29. Prelucrarea List Data – aplicarea formatelor


Pentru a aplica formatul la o coloană dintr-un set de date SAS în mod permanent, trebuie să se
modifice propietăţile coloanei în Query Builder sau în Data Grid (modul editare), un anumit
format putând fi aplicat mai multor coloane.

IV.6. Concepte privind programarea SAS şi lucrul cu programe SAS


Fiecare prelucrare din SAS Entreprise Guide corespunde uneia sau mai multor proceduri. Pentru
a determina care procedură sau proceduri corespund unei anumite prelucrări, se selectează
fereastra procedurilor (din meniul bară se selectează opţiunile View à Tasks).
De asemenea, opţiunea Help permite să se identifice procedura SAS corespunzătoare. În
fereastra Help, utilizatorul va fi capabil să vizualizeze codul procedurii (figura IV.6.2).

Figura IV.6.2. Vizualizarea codului SAS al unei proceduri SAS

Fişierele cu care lucrează SAS la nivel de cod sunt de două tipuri pricipale care sunt reliefate şi
în Figura IV.6.3.: preluate, adică importate din alte aplicaţii (externe), şi fişiere generate de
către SAS (interne), care pot fi temporare (stocate în librăria Work) sau permanente (stocate în
alte librării sau directoare decât Work).
ASCII
Externe Fişiere generate de alte
aplicaţii

Fişiere în SAS
Interne Temporare – nume pe un
nivel
Permanente - nume pe nouă
niveluri (libref.nume)

Figura IV.6.3. Tipuri de fişiere în SAS

În cadrul exemplului din figura IV.6.4. declaraţia LIBNAME furnizează produsului SAS
Entreprise Guide un pointer către o locaţie de memorie a sistemului de operare unde sunt stocate
fişiere SAS. Dacă datele sunt rezidente pe un sistem de operare Windows, declaraţia LIBNAME
referă un director în care sunt stocate datele.
Secţiunea de date DATA poate include declaraţii care generează tabele SAS sau manipulează
tabele existente. În aceeaşi secţiune pot fi introduse declaraţii pentru mai multe tabele.
Procedura PRINT tipăreşte observaţiile dintr-o tabelă SAS utilizând în acest scop o parte sau
toate variabilele din aceasta. Procedura corespunde prelucrării List Data din cadrul opţiunilor
SAS Enterprise Guide.
Procedura MEANS calculează principalii indicatori statistici pentru diferite variabile numerice.
Această procedură corespunde prelucrării Summary Statistics din SAS Enterprise Guide.
Declaraţia VAR (prescurtarea de la variabile) furnizează procedurii MEANS o listă cu variabile
de analiză (care trebuie să fie numerice) şi pentru care se doreşte calcularea de statistici. Fără
declaraţia VAR, procedura MEANS calculează statistici pentru fiecare variabilă numerică din
setul de date.
Declaraţia INFILE indică sursa de provenienţă a datelor, în exemplul din figura IV.6.4. aceasta
este discul E, directorul date sas, fişierul comenzi.txt.
Declaraţia INPUT este una dintre cele patru metode diferite utilizate de SAS pentru citirea
rândurilor de date. Programul din figura IV.6.4. utilizează metoda “list input” adecvată pentru
valorile de date separate prin delimitatori. În SAS delimitatorul implicit este caracterul spaţiu.
SAS poate, de asemenea, să citească date separate prin alţi delimitatori (de exemplu “ sau tab) cu
modificări minore în declaraţia INFILE.
Când se utilizează pentru citirea datelor metoda “list input”, programatorul va trebui numai să
introducă numele pe care doreşte să îl atribuie fiecărei 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ă Nr_Comandă
specifică faptul că valorile acestei variabile sunt de tip caracter. Dacă nu există semnul $,
motorul SAS presupune că valorile sunt numere şi vor fi stocate ca valori numerice SAS.
Secţiunile DATA sau PROC se termină de obicei cu declaraţia RUN, dar pentru anumite
platforme aceasta poate să lipsească, o secţiune considerându-se că se termină acolo unde începe o
altă secţiune DATA sau PROC.

libname date 'E:\date sas';


data date.comenzi;
infile 'E:\date sas\comenzi.txt';
input Nr_Comanda $ 1-5 Cod_Produs $ 2-10
Cantitate $ 13-15 Pret 17-22 Venit $ 25-32;
run;
proc print data= date.comenzi;
run;
proc means
data= date.comenzi;
title 'Analiza comenzi‘; var Pret; run;

Figura IV.6.4. Exemplu de cod SAS

În exemplul din figura IV.6.4., textul care urmează declaraţiei TITLE, plasat între ghilimele
simple sau duble, va fi afişat la începutul fiecărei pagini de rezultate SAS. După cum s-a precizat
mai sus, declaraţia TITLE este o declaraţie globală, ceea ce înseamnă că efectul ei nu se reduce
la secţiunea din care ea face parte, ci se propagă în întreg mediul SAS până când el va fi
schimbat prin intermediul altei declaraţii TITLE. În acest context este bine să se plaseze o
declaraţie TITLE înaintea fiecărei proceduri care va produce ieşiri pentru a uşura citirea şi
înţelegerea informaţiilor din pagină. Când se iese din sesiunea de lucru SAS, titlurile se resetează
şi este nevoie să se introducă noi declaraţii TITLE, dacă ele sunt necesare.
IV.6.2. Vizualizarea codului
În cadrul unui proiect SAS, pot fi vizualizate toate elementele codului, dar pot fi editate numai
nodurile de cod (“Code Node”) care conţin cod SAS, realizând dublu-clic pe acestea.
Un nod de cod poate include următoarele elemente:
 copia codului generat de o prelucrare aferentă unei opţiuni SAS din proiect;
 un program SAS creat şi salvat anterior;
 un cod creat de către utilizator.
În cadrul unui proiect, un nod de cod vid poate fi inserat selectând din meniul bară opţiunile File
ð New ð Code.
Pentru a vizualiza codul generat de o prelucrare, se realizează clic drepta pe numele prelucrării din
fereastra arborelui proiectului sau a fluxului de proces, şi se selectează opţiunea Open ð Open
Last Submitted Code (figura IV.6.5).

Figura IV.6.5. Vizualizarea codului generat de o prelucrare

Implicit, se poate vizualiza codul generat de o prelucrare SAS, aşa cum arată şi figura IV.6.6, în
care este prezentat codul asociat unei prelucări de tipul List Data.

Figura IV.6.6. Vizualizarea codului generat de o prelucare


După cum se poate observa în figură, PROC PRINT reprezintă numele unei secţiuni de cod în
cadrul căreia există mai multe opţiuni sau declaraţii care au următoarele semnificaţii:
 opţiunea DATA - defineşte tabela SAS care se va fi utilizată în prelucrare;
 opţiunea OBS - defineşte o etichetă pentru numărul observaţiei din cadrul coloanei (în cazul
în care acest număr va fi afişat);

 opţiunea LABEL - utilizează etichetele variabilelor;

 declaraţia VAR - corespunde rolului List Variables şi indică numele variabilelor utilizate în
procedură;
 declaraţia BY - corespunde rolului Group Table By indicând numele variabilei de grupare;

 declaraţia RUN - încheie secţiunea PROC PRINT.


Pentru a vizualiza întreg codul necesar generării unei prelucrări de ieşire se vor selecta opţiunile
Tools ð Options ð Task General ð Display all generated SAS code in task output
(figura IV.6.7).
Figura IV.6.7. Codul integral generat de o prelucrare

În figura IV.6.8 este prezentat un exemplu de cod detaliat pentru generarea rezultatelor în format
HTML, RTF sau SAS.
Figura IV.6.8. Fragment din codul detaliat generat de o prelucrare

IV.6.3. Editarea codului SAS

În cadrul unui proiect, utilizatorul poate realizeze următoarele activităţi:

 să insereze cod, în mod automat, înainte sau după execuţia unei prelucrări sau a unui
program;
 să editeze codul oricărui program creat prin intermediul unei prelucrări sau a instrumentelor
Import Wizard sau Query Builder;
 să insereze programe SAS deja existente, ca noduri de cod, în cadrul unui proiect;
 să exporte codul unei prelucrări sau chiar a unui întreg proiect către un fişier;
 să creeze cod de la zero într-un nod de cod.

Codul SAS asociat unei prelucrări este read-only, drept urmare el nu poate fi modificat.
Încercarea de a realiza acest lucru generează apariţia mesajului din figura IV.6.9 prin care
utilizatorul este întrebat dacă doreşte să creeze o copie modificabilă a codului respectiv.

Figura IV.6.9. Mesaj de avertizare privind modificarea codului SAS

Dacă răspunsul va fi afirmativ, codul va fi copiat într-un nod de cod posibil de modificat (figura
IV.6.10).
Figura III.6.10. Crearea unei copii a codului generat de o prelucrare

Noul nod de cod nu este asociat cu prelucrarea iniţială, drept urmare modificările realizate în
acesta, precum şi cele efectuate în cadrul prelucrării originale (prin intermediul ferestrei de dialog)
nu se vor influenţa reciproc.
Noul cod creat va putea fi executat pe server-ul local sau pe oricare server disponibil. Rezultatele
şi log-ul aferente noului nod de cod vor fi incluse în arborele proiectului, vizibil în fereastra
Project Explorer.

IV.6.4. Personalizarea codului unei prelucrări

În cadrul ferestrelor de dialog ale unei prelucrări SAS, se poate selecta butonul Preview code
pentru a previzualiza codul generat de aceasta (figura IV.6.11) şi fereastra de previzualizare
pentru a insera un nou cod în cel deja existent (figura IV.6.12).

Figura IV.6.11. Previzualizarea codului SAS


Figura IV.6.12. Fereastra pentru inserarea de cod SAS

Inserarea automată de cod se poate aplica numai prelucrărilor şi interogărilor. Utilizatorul poate
seta opţiuni similare pentru a insera automat cod personalizat, înainte sau după codul scris prin
intermediul editorului de cod, prin selectarea opţiunii SAS Programs (Tools ð Options ð
Custom Code) precum în figura IV.6.13.

Figura IV.6.13. Opţiunile de inserarea a codului

Presupunem că se doreşte realizarea unei proceduri pentru testarea prelucrărilor care să


folosească un subset mic de date, înainte de a rula prelucrarea pe toate datele reale. În acest sens,
se va folosi declaraţia OPTIONS care permite utilizatorului să controleze multe aspecte ale unei
sesiuni de lucru SAS Enterprise Guide, cum ar fi destinaţia rezultatelor sau eficienţa execuţiei
unui program. Schimbarea unei opţiuni prin inserarea de cod va avea efect pe toată durata unei
sesiuni SAS Enterprise Guide.
De aceea, se recomandă resetarea opţiunilor şi revenirea la cele implicite prin inserarea de cod şi
după execuţia programului.
În exemplul din figura IV.6.14. au fost inserate opţiunile FIRSTOBS= şi OBS= înaintea
fiecărei prelucrări pentru a citi numai observaţiile de la 1 la 15 din fiecare tabelă.

Figura IV.6.14. Inserarea unui cod înainte de codul de executat

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