Sunteți pe pagina 1din 35

Academia de Studii Economice Bucuresti

Facultatea de Cibernetica, Statistica si Informatica Economica

Proiect Pachete Software


Aplicatii MS Excel, Systat şi SAS

_____________

1116
Cuprins
Descrierea companiei 2

1. MS Excel 2
1.1. Funcţii logice 3
1.2. Pivot Table 4
1.3. Grafice 5
1.4. Goalseek 6

2. Systat 8
2.1. Statistici descriptive 8
2.2. Corelaţie statistică 9
2.3. Analiză de regresie 11

3. SAS 12
3.1. Importul unui fisier non-SAS si crearea tabelelor de date SAS 12
3.2. Interogări 13
3.3. Joncţiune Internă si Externă 14
3.4. Folosirea Parametrilor 17
3.5. Raport 18
3.6. Grafic 19
3.7. Prelucrare Statistică 22
3.8. Formate Definite De Utilizator 23
3.9. Crearea Unui Document Compus 25
3.10. Stiluri Create De Utilizator 26
3.11. Funcții Statistice 28
3.12. Map Graph 29

1
Descrierea companiei
Compania romaneasca S.C. Source Out S.R.L. vinde servicii de dezvoltare software si
asigurarea calitatii, atat sub forma de outsourcing cat si productie de produse software, catre
companii din Europa si America. Ca si oferta pe piata, compania isi categoriseste resursele (10
programatori si 10 analisti pentru asigurarea calitatii) atat in functie de aria de specializare
software si business cat si de experienta si gradul de senioritate,

1. MS Excel
Se doreste realizarea unor statistici despre angajatii companiei S.C. Source Out S.R.L.. Pentru
acest scop, se va realiza un fisier folosind pachetul software Microsoft Excel 2013 (64-bit), parte
a suitei Microsoft Office Proffessional Plus 2013.

Se porneste de la realizarea listei de angajati:

Foaia de lucru este redenumita in Angajati:

2
1.1. Funcţii logice
Deoarece rezultatele departamentului .NET au fost exceptionale in luna precedenta, se doreste
acordarea unui bonus de 10% membrilor departamentului cu un salariu brut mai mic de 4000
RON si de 5% membrilor cu un salariu brut ce depaseste 4000 de RON.

Vom crea o formula care calculeaza direct valoarea bonusului in functie de parametri de mai
mentionati. Pass urmati sunt urmatorii:
a) Pentru aflarea membrilor departamentului, putem folosi functia =IF(D2=".NET",
TRUE, FALSE) care va intoarce TRUE daca pe linie se afla un membru din
departament si FALSE in restul cazurilor
b) Avem nevoie de inca o conditiei, si anume daca salariul depaseste sau nu 4000 de
RON. O vom combina cu functia de mai sus folosind AND rezultand formula
=IF(AND(D2=".NET",G2>4000),1,0) care returneaza 1 doar pentru salariatii din
departamentul .NET cu salariu mai mare de 4000.
c) Aceasta valoare o putem inmulti cu procentajul bonusului
=IF(AND(D2=".NET",G2>4000),1,0)*0.05 si cu Salariul Brut al angajatului pentru
a afla bonusul angajatilor cu salariu de peste 4000 de RON. Executand functia vom
observa ca un singur angajat primeste bonusul de 5%:

d) Tratam si cazul in care salariul nu depaseste 4000 de RON, bonus 10%:


=IF(AND(D2=".NET",G2<=4000),1,0)*0.10*G2 si observam persoanele care

3
primesc bonusul de 10%:

e) Combinand cele 2 formule, obtinem toate bonusurile


=IF(AND(D2=".NET",G2<=4000),1,0)*0.10*G2+IF(AND(D2=".NET",G2>4000
),1,0)*0.05*G2

1.2. Pivot Table


Pentru o prezentare ce urmeaza, este necesara distributia salariului mediu per nivel de
experienta in toata compania.

4
In acest scop va trebui sa grupam si sa aplicam o functie de Average pe coloanele Experienta si
Salariu Brut. Vom atinge acest scop folosind o pivotare din meniul Insert → Pivot Table. Am
ales coloanele Experienta (pe randuri), pentru agregarea datelor si Salariu (pe coloane), peste
care s-a aplicat functia Average,

Datele rezultate sunt:

1.3. Grafice
Datele obtinute anterior sunt destinate unei prezentari, asa ca vor fi expuse si sub forma grafica.

Inainte de generarea graficului, vom adauga la Pivot Table si o numaratoare pe categorie de


experienta:

Vom genera un Pie Chart pornind de la distributia pe categorii de experienta, selectand


coloanele RowLabels si CountID si folosind Insert → Pie Chart din Ribbon:

5
Si graficului salariului mediu per Categoria de experienta:

1.4. Goalseek
Pe langa departamentul de .NET, departamanetul de Testare a avut de asemenea rezultate
deosebite, datorate unui angajat (ID 16). Se pune problema aflarii unui procent de bonus pentru
aceasta resursa, astfel incat bugetul total de 2000RON sa fie complet utilizat.

Putem folosi functia Goalseek accesand Data → What If Analysis → Goal Seek, si completand:
● Set Cell (Celula ce trebuie sa ajunga la valoarea urmarita) → Buget Folosit
● To Value (Valoarea urmarita) → 2000
● By Changing Cell (Valorea ce trebuie gasita) → Procentul din Salariul Brut pentru
Angajatul cu ID-ul 16

6
A fost determinata valoarea de 0.08, adica un bonus de 8% pentru leaderul echipei de testare
(ID 16):

7
2. Systat

2.1. Statistici descriptive


Se doreste calcularea unor indicatori statistici pentru angajati. Valorile de interes sunt salariul
brut si salariul net. Vom calcula separat pentru cele 2 functii principale din companie:
Programator si Analist Asigurarea Calitatii.

Vom incepe prin importarea fisierului in MySTAT folosind File → Open → Data

In continuare se va invoca functia de Basic Statistics din Analyze → Basic Statistics si apoi se
vor selecta variabilele Slariu Brut si Salariu Net:

8
Dupa executia functiei, obtinem urmatorul rezultat:

2.2. Corelaţie statistică


In scopul unei analize comparative cu piata muncii, compania doreste aflarea legaturii statistice
dintre salariul brut si nivelul de vechime pentru toti angajatii companiei.

Se va folosi functia Correlation din meniul Analyze → Correlation → Simple. Ca si variabile se


vor alege VECHIME si SALARIU_BRUT:

9
In urma executiei analizei, se va cuantifica legatura dintre cele 2 variabile:

10
2.3. Analiză de regresie
Pentru a lua o decizie in ceea ce priveste analiza precedenta, se doreste si vizualizarea relatiei
dintre cele 2 variabile.

Pentru aflarea formei relatiei dintre cele 2 variabile, se va folosi regresia liniara din Regression
→ Least Squares, unde se va alege salariul brut ca si variabila dependenta si vechimea ca si
variabila independenta:

Statisticile de regresie astfel obtinute sunt:

Si graficele rezultate:

11
Se poate observa ca in majoritatea cazurilor (exceptie in cazul angajatilor cu id-urile 7 si 14)
exista o corelare intre salariul brut si vechimea in cadrul companiei.

3. SAS
Pentru rezolvarea problemelor ce urmeaza, am folosit SAS Enterprise Guide 7.1 OnDemand
for Academics (64-bit)

3.1. Importul unui fisier non-SAS si crearea tabelelor de date SAS


Compania doreste realizarea unui set de statistici financiare despre resursele angajate in
proiecte ale clientilor externi. Astfel, se incepe prin importarea fisierului Pontaj_mai.xlsx in SAS

12
3.2. Interogări
Dorim sa aflam daca exista in pontajul pe Luna Mai, resurse care au produs un profit mai mic de
un anumit prag → 1000 RON
Pentru aceasta operatiune, vom folosi Query Builder:

Si vom adauga un filtru cu operator “Greater Than” si o valoare de 1000 (filtrul rezultat este
Filter: WHERE t1.Profit > 1000)

13
In urma filtrarii, rezultatele obtinute sunt:

3.3. Joncţiune Internă si Externă


Se doreste pe de-o parte aflarea numelor resurselor care au fost angajate in contracte active in
luna mai si pe de alta parte, o lista cu toti angajatii si profitul adus de fiecare in aceeasi luna.

In acest scop, in primul rand vom importa lista completa a resurselor din companie:

Putem vedea lista completa de angajati importata din fisierul Angajati.xlsx

14
Vom selecta Task → Data → Query Builder, si vom face o jonctiune intre datele Angajati si
Pontaj_Mai

Aplicatia nu a detectat automat legatura dintre cele 2 tabele, asa ca vom face legatura Inner
Join manual, dintre coloanele ID ↔ ID Angajat

Vom selecta doar numele, asa ca, in urma executiei queryului, lista rezultata vor arata asa:

15
Pentru pasul urmator, vom crea un nou query, de data aceasta folosind Outer Join deoarece
vrem lista completa de angajati, indiferent daca au facut sau nu profit:

In urma executiei, am obtinut urmatoarea lista de angajati:

16
3.4. Folosirea Parametrilor
CEO-ul S.C. Source Out S.R.L. doreste aflarea ratei medii per resursa si numarul total de zile
lucrate in luna precedenta.

In acest scop vom selecta Datele importate din Pontaj, si vom accesa functia Summary: Task →
Describe → Summary Statistics Wizard.
Se selecteaza cele 2 coloane de interes, iar la pasul urmator, apasand Edit, calculele necesare
(Mean si SUM):

17
SAS genereaza apoi un sumar:

Dupa executie, Process Flow-ul arata astfel:

3.5. Raport
Pentru o realiniere a salariilor la piata muncii, se doreste aflarea salariilor brute per tehnologie
folosita.

Vom apela la functia List Data, selectand Data imported from Angajati, si apoi navigand in
Tasks → Describe → List Data

Vom selecta Salariul Brut ca si variabila de lista si Specializare ca si variabila de grupare

18
Dupa apasarea Run, rezultatele obtinute sunt:

3.6. Grafic
Compania doreste aflarea numarului de resurse ocupat de fiecare client in parte. Pentru ca
datele sunt relativ putine, o reprezentare grafica este indicata pentru prezentarea acestora.

Pentru a obtine numele clientilor, incarcam detaliile despre clienti dintr-un fisier numit
Clienti.xlsx, pe care il vom importa, facandu-l astfel disponibil pentru prelucrare:

19
Pentru asocierea id-ul clientilor din Tabelul de Pontaje, cu numele acestora, vom face Inner Join
intre tabelele Clienti si Pontaje, si vom selecta doar coloanele nume si Id Angajat.

Selectam query-ul rezultat si folosim functia Task → Graph → Bar Chart Wizard. Vom bifa
optiunile 3D Chart si Data Labels

20
Process-flow-ul dupa generarea graficului:

21
3.7. Prelucrare Statistică
Se doreste aflarea distributiei utilizarii resurselor per client.

In acest scop vom prelucra statistic datele de mai sus (clienti, resurse folosite). In primul rand
avem nevoie de numarul de resurse folosite per client.
Vom modifica query-ul precedent, bifand optiunea “Select Distinct Rows Only” si vom aplica un
sumar de tip “Count” pe coloana ID Angajat pentru a obtine numarul de resurse utilizate de
fiecare client:

Pe query-ul rezultat, vom apela functia One Way Frequencies: Task → Describe → One Way
Frequencies
Se face drag and drop coloanei Nume in Task-ul de “Analysis Variable” si Count in Taskul de
Frequency Count:

22
Raportul statistic obtinut astfel este:

3.8. Formate Definite De Utilizator


Pentru alinierea salariilor la nivelul pietei muncii, se doreste detectarea inconsistenetelor fata de
nivelul pietei. Salariile existente vor fi categorisite in concordanta cu nivelele de pe piata, astfel:
● Incepator ( < 2499)
● Mediu (2500 - 3999)
● Expert (4000 - 5499)
● Avansat ( > 5499)

Vom defini cele 4 categorii si in SAS, folosind functia Create Format din: Task → Data →
Create Format:

23
Cream un query nou, in care vom aplica formatul definit pe câmpul Salariu Net. Pentru
modificarea formatului, selectam coloana si apoi facem click pe “Properties”

Dupa apasarea butonului run se pot vedea inconsistentele dintre salariile din companie si cele
de pe piata muncii:

24
3.9. Crearea Unui Document Compus
Se doreste crearea unui raport unitar pentru CEO-ul companiei.

Pentru aceasta, vom combina date din mai multe rapoarte, apeland functia Report din File →
New → Report:

25
3.10. Stiluri Create De Utilizator
Se doreste afisarea raportului intr-un stil diferit, adaptat la schema de culori a firmei

26
27
3.11. Funcții Statistice
Compania doreste o previziune statistica cu privire la numarul de ore lucrate.

Vom incarca fisierul care contine detalii despre totalul de ore lucrate pentru clienti externi, in
fiecare zi a lunii Mai → Pontaj_mai_total_zilnic.xlsx

Se selecteaza datele importate si se aplica functia Arima: Task → Time Series → Arima
Modelling and Forecasting

28
Analiza rezultata este:

3.12. Map Graph


Se doreste realizarea unei harti cu distributia angajatilor pe judete.

29
Am adaugat coloana de Judet in lista de angajati. Dupa modificare incarcam fisierul in SAS si
ne asiguram ca noua coloana este prezenta:

30
Pentru generarea hartii folosim functia Task → Graph → Map Chart si selectam 3D Prism Map

Navigam apoi la Data si incarcam harta romaniei apasand Browse.

31
Am incarcat harta din locatia SASApp → Libraries → MAPSGFK → Romania

32
Apoi o putem selecta ca si Data Source

33
In urma adaugarii hartii, process-flow-ul va arata astfel:

34