Sunteți pe pagina 1din 40

S

t
u
d
e
n
t
i
:
G
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Cuprins
Prezentarea firmei.......................................................................................................................................2
Pachetul Excel..........................................................................................................................................2
Crearea unei foi de calcul........................................................................................................................2
GoalSeek..................................................................................................................................................6
Funcții logice:...........................................................................................................................................7
Grafice.....................................................................................................................................................8
SASEnterprise Guide..................................................................................................................................10
Interogari (Selectare si filtrare):.............................................................................................................14
SAS Programing.........................................................................................................................................16
Programare Python...................................................................................................................................23
1. Utilizarea listelor și a dicționarelor, incluzând metode specifice acestora:.......................................23
2. Utilizarea seturilor și a tuplurilor, incluzând metode specifice acestora:...........................................28
3. Definirea și apelarea unor funcții;.....................................................................................................33
4. Utilizarea structurilor condiționale:...................................................................................................34
5.Utilizarea structurilor repetitive:........................................................................................................35
6. Importul unei fișier csv sau json în pachetul pandas:........................................................................38
7. Accesarea datelor cu loc și iloc:.........................................................................................................39

1
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Prezentarea firmei

Pentru realizarea acestui proiect am ales sa analizez date din cadrul firmei S.C. Dalina
Accountancy S.R.L., privind angajații acesteia. Compania își are sediul în București, str.
Cernăuți, nr. 42, sector 2 și se ocupă de contabilitate și audit financiar, activând în domeniul
resurselor umane.
Prin acest proiect vom încerca să tragem anumite concluzii privind activitatea internă a
firmei ce constă în resursa umană a companiei.

Pachetul Excel

Crearea unei foi de calcul

a) Definirea problemei:
Compania S.C. Dalina Accountancy S.R.L. deține mai mulți angajați. Să va realiza o foaie de
calcul în care să se introducă datele despre situația firmei într-o perioadă determinată de timp,
referitoare la angajați, conținând următoarele coloane:
 Angajat
 Profesie
 Vârsta
 Studii
 Salariu brut/lună (RON)
 Salariu net/lună (RON)
 Ore lucrate/lună (8h/zi)
b) Informații pentru rezolvare:
i. Crearea unei foi de lucru: Office Button -> New -> Blank Workbook
ii. Pentru formatarea celulelor: Page Layout -> Orientation -> Landscape
iii. Pentru salvarea foii de lucru: Office Button -> Save/Save As

c) Rezultate:

2
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

d) Interpretarea rezultatelor:
În tabelul de mai sus sunt prezentate câteva date din baza de date cu angajații firmei în care
se evidențiază statistici privind salarizarea și vizualizarea datelor personale despre aceștia (nume,
prenume, vârstă, studii).
Formatarea celulelor
Pentru celula „Salariu brut”, să se formateze câmpurile acesteia astfel încât să permită
doar valori numerice, iar pentru coloana „Salariu net” să fie permisă afișarea valorii în moneda
RON.
Se selectează coloana dorită pentru formatare -> click dreapta-> Format Cells -> se
selectează Number pentru prima coloană, respective Currency pentru cea de a doua coloană,
apoi se alege moneda EURO și modul în care va fi afișată valoarea.

Rezultate:

3
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

1.1. Pivot Table

a) Definirea problemei:
Să se realizeze un raport care să genereze toți angajații cu studii medii și care să permită
vizualizarea salariului net al fiecărui angajat al acestei categorii.
b) Pași de rezolvare:
Se alege funcția Pivot Table din tab-ul Insert pentru care se adaugă range-ul de date ca fiind
toată lista ce face referire la angajați. Apoi se urmează pașii din imaginea de mai jos:

4
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

c) Rezultate:

5
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

d) Interpretare:
Pentru categoria de angajați cu studii superioare există 5 angajați, toți lucrând 160 de ore pe
lună.

GoalSeek

a) Definirea problemei:
Unul dintre experții contabili solocită un salariu brut de 10500 RON, respectiv un salariu net
de minim 6250 RON, deci vom folosi GoalSeek, urmărind ca salariul final al expertului contabil
să fie la valoarea cerută.
b) Informații necesare pentru rezolvare:
i) Intrăm în meniul Data -> What-If-Analysis -> Goal Seek
ii) În Set Cell punem celula ce dorim să o modificăm
iii) La ToValue punem valoarea la care dorim să ajungem
iv) Iar la ByChangingCell punem valoarea de care depinde modificările.

c) Formule:

d) Rezultate:

6
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

e) Interpretare economică:
Salariul nou este acum modificat automat așa cum s-a solicitat de către expertul contabil.

Funcții logice:

a) Definirea problemei:
Compania vrea sa ofere 0,5% în plus la salariu angajaților care au peste 160 de ore lucrate.
b) Informații necesare pentru rezolvare:
Folosind testul logic if ore lucrate> 160. Dacă este adevărat, atunci salariul = salariu total
* 0,5%, dacă este fals atunci salariul rămâne neschimbat.
c) Formule:
= IF(J2 > 160, H2 * 0.5, 0)

7
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

d) Rezultate:

e) Interpretare economică:
Salariul nou care conține și un supliment condiționat de orele lucrate. Poate fi găsit în coloana
„Salariu net final/lună” și valoarea bonusului în coloana „Bonus”.

Grafice

a) Definirea problemei:
Se cere să se evidențieze, prin intermediul unui grafic de tip Pie, cum se împart salariile la cei 20
de angajați ai companiei.
b) Informații necesare pentru rezolvare:
i. Insert -> Pie
ii. Se selectează volorile pentru cele 20 de categorii

c) Rezultate:

8
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

9
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

d) Interpretare economică:
În urma analizării graficului, se poate observa că Expertul Contabil are cea mai mare pondere
atunci când vorbim de salariu.

SAS Enterprise Guide

1.2. Importarea fișierelor non-SAS (fișier Excel):

a) Descrierea problemei:
Să se importe fișierul „Proiect_Pachete_Software_excel.xlsx” în SAS EG.
b) Informații necesare pentru rezolvare:
 File -> Import Data -> Se selectează fișierul dorit

10
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

11
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

c) Interpretarea rezultatelor:
Tabelul a fost convertit în formatul SAS.
Să se analizeze datele importate anterior: Se selectează meniul Tasks -> Describe ->
Characterize Data.

12
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

13
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Interogari (Selectare si filtrare):

a) Descrierea problemei:
Sa se creeze un raport care să afiseze angajatii cu profesia Contabil si Expert Contabil.
b) Informatii necesarepentru rezolvare:
- Folosim tabelul rezultat la pasul anterior
- Query Builder -> Se adauga toate coloanele
- Filter Data -> New Filter -> Basic Filter -> se selecteaza variabila dorita (Profesia)

14
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

- La operator -> In a list si se vor adauga cele doua Categorii: Contabil si Expert Contabil
-> Run
- Pentru a genera raportul de frecventa -> Tasks -> Describe -> One-Way Frequencies

15
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

c) Prezentarea rezultatelor:

Se observa ca selectarea si filtrarea au fost realizate cu success si avem o lista cu 3


angajati care ocupa functia de Contabil si un angajat care ocupa functia de Expert Contabil.

SAS Programing

Problema 1: Să se creeze o nouă librărie numită „info” în care se vor importa datele din
fișierul .txt „info.txt”.
Folosind comanda „ libnameinfo‘/home/u58009231’;” pentru a crea librăria „info”.

16
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Adăugăm fișierul „info.txt” pe serverul SAS după cum urmează:

17
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Folosim setul următor de comenzi pentru a crea o tabelă nouă, numită „info”, în librăria
creată anterior:
data info.info;
infile '/home/u58009231/info.txt';
input Client $ Reprezentant $ VarstaR;
run;

18
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

Se observă în imaginea de mai sus că tabela s-a creat conform cerinței.

Problema 2: să se afișeze o descriere a tabelei create la problema anterioară. Prin


„descriere” ne referim să afișăm momentul când a fost creată, numărul de observații, variabilele,
unde este poziționată tabela pe server etc.
Vom folosi procedura contents. Comanda procedurii este următoarea:
title "Descrierea datelor inițiale";
proccontents data=info.info;

Rezultate:

19
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

În imaginile de mai sus sunt listate informații despre tabela „info”.


În prima imagine avem informații cu privire la numele tabelei, data creării ei, numărul de
observații, variabile etc. , iar în cea de a doua imagine sunt informații referitoare la locul unde
este stocată pe server, numărul intern al tabelei, câmpurile tabelei cum ar fi numele, tipul și
lungimea variabilelor.

Problema 3: Să se afișeze datele din tabela „info”.


Vom folosi procedura print. Codul procedurii este:

20
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

title "Datele din fisierulinfo";


proc print data=info.info;
run;

Problema 4: Să se afișeze datele din tabelă astfel încât la cei care au vârsta mai mică de
30 de ani să se scrie „Varsta mai mica ca 30!”.
Se folosește procedura format astfel:
proc format;
Value varstaR low-30 = 'Varstamai mica ca 30!';
run;

Pentru a afișa datele se folosește procedura print.


title "Date despre reprezentanti";
proc print data=info.info;
var varstaR;
format varstaRinfo.;

21
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

run;

Problema 5: Să se extragă din fișierul „clienti_daune.json” valoarea daunei și clientul


întru-un fișier SAS.
Extragerea datelor se face folosind următorul cod:
filename daune '/home/u58009231/sasuser.v94/clienti_daune.json';
data daune_nou;
infile daune truncoverscanover;
input @'Valoare Dauna":"' valoare $15.

22
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

@'Id_Client":' idclient 8.;


put valoare=;
put idclient=;
run;

Programare Python

1. Utilizarea listelor și a dicționarelor, incluzând metode specifice acestora:


a) Listele sunt foarte asemănătoare enumerărilor, cu deosebirea că listele pot fi editate, deci
valorile lor pot fi modificate. De obicei se utilizează liste şi nu enumerări.
Listele sunt definite într-un mod similar enumerărilor. Singura deosebire faţă de enumerări este
că valorile sunt încadrate între paranteze drepte şi nu rotunde. Valorile din liste sunt apelate la fel
ca și în cazul enumerărilor.
• Creare lista si afișarea acesteia:

23
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Determinare număr de elemente din listă:

• Determinare element prin index:

• Adăugare element în lista utilizând metoda append:


append(x) - adaugă elementul X la sfârşitul listei.

24
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Adăugare element pe o anumita poziție:


insert(i, x) - inserează un element într-o anumită poziţie. Primul argument reprezintă indicele
elementului din listă înaintea căruia se va face inserţia.

• Eliminarea ultimului element din listă folosind metoda pop():


pop([i]) - şterge din listă elementul de pe poziţia ’i’, şi întoarce valoarea acestuia. Dacă nu este
specificat nici un parametru a.pop(), va şterge şi va returna ultimul element din listă.

25
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Afișarea indexului unui element din listă:


index(x) - întoarce indicele primului parametru din listă care are valoarea ’x’.

• Afișare număr de apariții ale elementului “Florin Alexandru” in lista:


count(x) - întoarce numărul de apariţii ale valorii ’x’ între elementele listei.

b) Dicţionarele sunt constituite din două elemente: un index de cuvinte și, pentru fiecare index,
o definiție. În Python, indexul este denumit cheie (key), iar definitia - valoare (value). Valorile
dintr-un dicționar nu sunt numerotate și nu se află într-o anumită ordine. Se pot adăuga,
îndepărta și modifica valorile dintr-un dicționar.
Crearea unui dicţionar este asemănătoare cu cea a creării unei liste sau enumerări, diferenţa
constând în utilizarea acoladelor în locul parantezelor rotunde sau drepte.
• Creare dicționar si afișare:

26
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Accesare elemente din dicționar:

• Modificarea unui element din dicționar:

27
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Realizare copie a dicționarului inițial si afișarea acestuia:

• Returnarea unei liste conținând cheile dicționarului:

• Returnare lista conținând un tuplu pentru fiecare pereche cheie-valoare:

2. Utilizarea seturilor și a tuplurilor, incluzând metode specifice acestora:

a) Tuplurile sunt structuri de date similare listelor, dar care nu beneficiaza de caracterul
mutabil al acestora. Prin urmare, elementele unui tuplu nu pot fi modificate. Declararea
tuplurilor se realizeaza prin intermediul parantezelor rotunde.

28
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Crearea si afișarea unui tuplu:


Crearea unui tuplu se face prin precizarea elementelor acestuia intre paranteze rotunde.
Despartirea elementelor de la nivelul unui tuplu se realizeaza prin virgula.

• Accesarea elementelor din tuplu prin index:


Elementele unui tuplu sunt indexate numeric, primul element al unui tuplu având indexul 0.
Accesarea unui anumit element al tuplului se face prin precizarea indexului elementului, între
paranteze drepte, după numele tuplului.

• Returnarea numarului de aparitii a elementului “Micu Ioana” din tuplu:

29
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Returnarea pozitiei elementului “Micu Ioana” din tuplu:

a) Seturile sunt utilizate pentru a stoca mai multe articole într-o singură variabilă.

Putem privi seturile (tipul set) precum niște mulțimi de la matematică. Elementele unui astfel


de tip de date sunt neordonate (nu putem folosi indici), iar fiecare dintre ele este unic (se
regăsește o singură dată).
Totuși, este permis să adăugăm ori să ștergem elemente.

• Creare si afisare set:

• Adăugare în set:
Pentru a adăuga elemente noi în cadrul unui set de date, putem folosi metodele add(element) .

30
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Crearea copiei unui set și golirea setului inițial de date:

• Returnarea unui set reprezentand diferentele dintre doua seturi de date:

• Folosirea isdisjoint() pentru a verifica daca 2 seturi se intersecteaza sau nu:


Metoda isdisjoint () returnează True dacă două seturi sunt seturi disjuncte. Dacă nu, returnează
False.

31
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Folosirea issubset() pentru a verifica daca 2 seturi se intersecteaza sau nu:


Metoda issubset () returnează True dacă toate elementele unui set sunt prezente într-un alt set
(trecut ca argument). Dacă nu, returnează False.

• Folosirea issuperset() pentru a verifica daca 2 seturi de intersecteaza sau nu:


Metoda issuperset () returnează True dacă un set are toate elementele unui alt set (trecut ca
argument). Dacă nu, returnează False

• Folosirea symmetric_difference()pentru a returna un set cu elementele necomune dintre 2


seturi:
SetTipul are symmetric_difference()metoda care returnează diferența simetrică a două sau mai
multe setur.

32
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

• Eliminarea unui element:

3. Definirea și apelarea unor funcții;

Funcțiile sunt secvențe de cod care sunt definite pentru a fi apoi apelate în diverse secțiuni ale
programelor. Acestea asigură o structurare mult mai bună a aplicațiilor. 
În general, o funcție primește un set de argumente, efectuează un număr de operații și returnează
o valoare.
Funcțiile sunt definite folosind cuvȃntul cheie def, urmat de numele funcției ca denumire pentru
blocul de instrucțiuni care urmează.

33
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

4. Utilizarea structurilor condiționale:


Structuri condiționale (decizionale): permit execuția condiționată a unei instrucțiuni sau a unui
bloc de instrucțiuni.
• Instrucțiunea if
Structurile condiționale oferă posibilitatea executării condiționate a uneia sau mai multor
instrucțiuni. În limbajul Python, din aceasta categorie face parte o singură instrucțiune, if.
- Verificarea dacă un salariu introdus de la tastatura este mai mica sau mai mare de 3000:

34
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

5.Utilizarea structurilor repetitive:


Structuri iterative (repetitive): au rolul de a executa repetitiv o instrucțiune sau un set de
instrucțiuni, până la îndeplinirea unei condiții de ieșire.
• Instrucțiunea for
Instrucțiunea iterativă for se utilizează pentru a parcurge elementele unei secvențe (șir, listă sau
tuplu).
- Afișarea elementelor din listă folosind for:

35
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

- Afișarea primei litere a fiecărui element din listă:

- Afișarea elementelor din listă diferite de “Chivut Daniel”:

- Afișarea primelor 6 elemente:

36
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

- Afișarea elementelor de la 2 la 20, din 4 în 4:

- Unirea a două liste cu angajați și salariile aferente:

37
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

6. Importul unei fișier csv sau json în pachetul pandas:

• Importarea unui csv si afisrea elementelor din acesta:

• Citirea doar primei coloane din csv:

• Citirea unui fișier și încărcarea unor coloanelor Angajați, Vârsta și Studii în liste:

38
Facultatea de Cibernetică, Statistică și Informatică Economică
Academia de Studii Economice din București

7. Accesarea datelor cu loc și iloc:


loc este bazat pe etichete, ceea ce înseamnă că trebuie să specificați rânduri și coloane pe
baza etichetelor lor de rând și coloană .
iloc este bazat pe poziție întreagă, deci trebuie să specificați rânduri și coloane după valorile lor
de poziție întreagă (poziție întreagă bazată pe 0).

39

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