Sunteți pe pagina 1din 53

Proiect

Pachete Software

Cuprins

1
I. Excel
1) Functii matematice
2) Functii logice
3) Pivot Table
4) Scenarii
5) Grafice
II. SAS Enterprise Guide
1) Importul unui fisier non – SAS
2) Interogari
3) Jonctiune
4) Folosirea parametrilor
5) Rapoarte
6) Grafice
7) Prelucrari statistice
8) Formate definite de utilizator
9) Stiluri create de utilizator
10) Crearea unui document compus
III. PYTHON
1) Utilizarea listelor si a dictionarelor
2) Utilizarea seturilor si a tuplurilor
3) Utilizarea structurilor conditionale
4) Utilizarea structurilor repetitive:
5) Definirea, apelarea unei functii
6) CSV, pandas
7) Accesarea datelor cu loc şi iloc
8) Modificarea datelor în pachetul pandas
9) Stergerea de coloane si inregistrari:

2
I. Excel

1) Functii matematice

Pentru realizarea bazei de date am adaugat urmatoarele coloane de date: ID Comanda, Data
Comanda, Sosire Comanda, Nume Client , Denumire Produs, Tip, Cantitate, Pret, Cota TVA,
Pret fara TVA, TVA, Pret cu TVA, Discount, Valoarea discount-ului si Pret cu discount.
Variabile folosite pentru rezolvare:
- Cantitate
- Pret
- Cota TVA (19%)
- Pret fara TVA
- TVA
- Pret cu TVA

o Pret fara TVA = Cantitate * Pret


o TVA = Pret fara TVA * Cota TVA
o Pret cu TVA = Pret fara TVA + TVA

Datorita acestor calcule ale comenzilor putem vedea valoarea totala a comenzilor in
valoare de 10502,94 Ron , in perioada 08-12-19 – 28-04-20.

3
2) Functii logice

 Functia CountIF

Pentru clientul Popescu George vom calcula numarul total de comenzi


efectuate in perioada 08-12-19 – 28-04-20 :

 Funtia SumIfs
Pentru clientul Popescu George vom calcula valoarea totala a
comenzilor efectuate cu TVA:

 Functia IF

Pentru preturile mai mari de 250 Ron se va aplica un discount de 20% .

Valoarea discountului =

Pret cu discount = Pret cu TVA - Valoarea discountului

4
3) Pivot Table

Prin intermediul Pivot Table vom putea crea un raport care va contine
informatii legate de nume clienti , cantitate, pretul comenzii si pretul cu
discount.

5
Pivot Table:

6
4) Scenarii

Presupunem ca TVA-ul va suferi o scadere de la 19% la 16%. Vom


recalcula pretul cu TVA :
Pentru rezolvare utilizam functia What-if analysis – Scenario Manager.

Pasi: Data - What-If analysis - Scenario Manager, Add - Scenario Name: Pret cu
TVA nou. Changing Cells: I2 - Ok. New Value: 0.16 – Ok.

7
5) Grafice

Am analizat sub forma unui grafic diferenta dintre pretul cu TVA si pretul
cu discount .

8
II . SAS Enterprise Guide

1) Importul unui fisier non – SAS

Datele folosite sunt date dintr-o intreprindere , aceastea prezentand


informatii referitoare la data comenzilor , clientilor , cantitatea si denumirile
produselor si preturile totale.
Exista doua tabele in care datele sunt impartite , una se refera la clienti , iar a
doua tabela la produsele oferite .
Pentru a importa din fisierul Excel in SAS vom urma pasii:
File – Import data – Selectam fisierul Date MyProtein , Next , Selectam
worksheet-ul Clienti , Finish. La fel se procedeaza si pentru tabela Produse.

Tabela Clienti ( ID Comanda – Char(13), Data Comanda – Date(8) , Sosire


Comanda – Date(8), Nume Client – Char(20), Pret – Number(8), Cota TVA
- Number(8), Pret fara TVA – Number(8), TVA – Number(8), Pret cu TVA
– Number(8))

9
Tabela Produse ( ID Produs – Number(8) , ID Comanda – Char(13),
Denumire Produs – Char(21), Tip – Char(19), Cantitate – Number(8))

2) Interogari

Se va face un raport care va afisa numarul denumirilor de produse


comandate, cu cantitatile mai mici de 4 bucati.
In foaia de calcul Produse – Query Builder. Selectam coloanele ID Produs ,
Denumire Produs , Tip si Cantitate. Apoi in tab-ul Filter data utilizam New
Filter Data pentru Cantitate - Next , Operator: Less than , iar la value punem
4.

10
Pentru frecventele pe categorii utilizam interogarea din care selectam Tasks
– Browse – Describe – One-Way- Frequencies.

11
3) Jonctiune

 Interna

Pe tabela Clienti - Query Builder – Add Tables , selectam tabela


Produse – Join Tables.
Calculam pretul total al comenzilor stiind cantitatea din tabela
Produse si pretul din tabela Clienti.

12
Pretul total = Pret * Cantitate

13
14
 Externa

Vom vedea cate comenzi au Pretul Total mai mare decat 300 Ron si
cantitatea mai mare decat doua bucati, pentru a le putea incadra intr-un
discount viitor.
Folosim Query Builder pentru jonctiunea externa a celor doua tabele si doua
filtre pentru cerintele de mai sus.

4) Folosirea parametrilor
Interogari cu parametri

Vom calcula pentru tipul produsului pretul total al acestuia.

15
16
Crearea unui parametru nou

Vom crea un parametru care o sa selecteze doar orasul Bucuresti si


cantitatile mai mici decat 4.
Folosim Query Builder – Prompt Manager – Add New Prompt.
Selectam optiunilr necesare si se ruleaza.

17
5) Rapoarte

Vom crea un raport ce contine o lista a comenzilor cu Id produs , denumire


produs si cantitatile sub 4 bucati . Se vor afisa numele produselor respective
si cantitatile mai mici decat 4.

18
6) Grafice
Vom crea un grafic cu orasele si cantitatea produselor vandute.
In tabelul Orase – Tasks – Graph se alege Pie Chart , variabila Orase va
deveni coloana graficului (Column to chart), iar variabila Cantitate va fi
asignata rolului Sum of.

Se poate observa ca in Bucuresti s-a vandut o cantitate mai mare de produse


fata de celelalte orase

19
7) Prelucrari statistice
Determinam numarul de comenzi efectuate de fiecare client.
Facem o jonctiune intre tabelele Clienti si Produse. Adaugam variabilele
Nume Client, Cantitate, Valoare totala si selectam One-Way-Frequencies.

Se poate vedea ca Popescu George a avut mai multe comenzi de produse.


8) Formate definite de utilizator

Se vor crea doua formate si anume :


20
- orasele vor fi impartite in regiuni (Sud si Sud-Est)

- pretul cu TVA in doua selectii : sub 400 Ron si peste 400 Ron

21
22
Se poate observa ca in majoritatea regiunii de Sud-Est preturile comenzilor
sunt incluse in intervalul 0 – 400 Ron.

9) Stiluri create de utilizator

Vom crea o lista cu produsele companiei , pretul produselor , dar si alte


informatii legate de comenzi, iar lista va fi si in format PDF.

Realizam o jonctiune intre cele 3 tabele si adaugam la interogare campurile:


ID Produs, Pret cu TVA, ID Comanda, Denumire Produs, Nume Client si
Oras. Apoi vom intra in : Tasks – Describe - List data , iar in tab-ul
Properties alegem stilul SAS Saphire.

23
24
25
26
10) Crearea unui document compus
Folosind rapoartele de mai devreme ( List Data si List Data 1) vom realiza un
raport care sa contina ambele informatii.

File – New Report , selectam cele doua rapoarte cu Drag&Drop

27
II . SAS Programming

Cu ajutorul codului a fost creat urmatorul tabel ce contine informatii referitoare la


comenzile ce au fost inregistrate intr-o anumita intreprindere: id comanda, numele
clientilor, pretul , denumire produs si tipul produselor ( SA= supliment alimentar).

28
Output:

Vom utiliza SAS pentru urmatoarele probleme:


1. Se vor afisa din setul de date , comenzile de tip SA care au avut pretul
sub 50 Ron.

2. Cu ajutorul datelor de mai sus cream grupe pentru comenzi astfel :


- intre 20 - 90 Ron - grupa 1
- intre 90 - 160 Ron - grupa 2

29
- intre 160 - 300 Ron- grupa 3,
- altele – grupa 4

30
3. Daca deschidem un deposit bancar de 2500 $ si vrem sa aflam care este suma
castigata peste 5 ani, in conditiile in care dobanda este de 9%.

4. Daca avem depozitul bancar, in cat timp se poate ajunge de la 2000$ la 6000$ daca
dobanda este de 13%.

Din tabelul de mai sus putem observa ca este necesara o investitie de 9 ani pentru a ajunge la
6000$.

31
PYTHON

1. Utilizarea listelor si a dictionarelor

 Crearea listei conform datelor excel:

Cod:
lista = ["Popescu George", "Cojocaru Eduard", "Stefan Andrei ", " Ursu Antoniu ", "
Dogaru Cezar ", " Lupu Andrei ",
"Dumitrescu Alexandru", " Grigore Alina
print (lista)

Output:

 Adaugare element in lista prin metoda append

Cod:
lista.append("Ursu Antoniu")
print(lista)

Output:

32
 Adaugare element pe o anumita pozitie

Cod:
lista.insert(3,"Grigore Alina")
print(lista)

Output:

 Determinarea elementelor din lista si determinarea prin index:

Cod:
print(len(lista))
print(lista[5])

33
Output:

 Eliminarea ultimului element din lista folosind metoda pop():


Cod:
lista.pop()
print(lista)

Output:

34
 Afisarea numarului de aparitii ale numelui “Popescu George” in lista:
Cod:
print(lista.count("Popescu George"))

Output:

 Creare dictionar pentru clientul Popescu George:


Cod:
dictionar = {"Nume Client":"Popescu George","Cantitate":"4","Pret cu TVA":"696"}
print(dictionar)

Output:

35
 Accesare element din dictionarul clientului Popescu George:
Cod:
print(dictionar.get("Pret cu TVA"))

Output:

 Modificarea unui element din dictonar:

36
Cod:
dictionar["Pret cu TVA"]=740
print(dictionar)

Output:

 Stergerea elementelor din dictonar:

Cod:
dictionar.clear()
print (dictionary)

Output:

37
2. Utilizarea seturilor si a tuplurilor

 Crearea unui tuplu

Cod:
tuplu = ("Popescu George", "Cojocaru Eduard", "Stefan Andrei ", " Ursu Antoniu ", "
Dogaru Cezar ", " Lupu Andrei ", "Dumitrescu Alexandru", " Grigore Alina ")

print(tuplu)

Output:

 Accesarea elementelor din tuplu folosind indexul

Cod:
print(tuplu[6])

Output:
38
 Returnare numar aparitii element selectat

Cod:
print(tuplu.count("Cojocaru Eduard"))

Output:

 Crearea unui set

Cod:
set = {"Nume Client:","Denumire Produs:", "Cantitate:", "Pret cu TVA:"}
print(set)

Output:

39
 Adaugarea unui element in setul creat:

Cod:
set.add("TVA:")
print(set)

Output:

 Crearea unei copii a setului & stergerea setului initial

40
Cod:
copieset = set.copy ()
set.clear()
print(set)
print(copieset)

Output:

 Eliminarea unui element din setul creat

41
Cod:
copieset.remove("TVA:")
print(copieset)

Output:

3. Utilizarea structurilor conditionale

42
Utilizarea structurilor conditionale, se verifica daca valoarea unei comenzi pentru un
client este mai mica decat 1000
Cod:

val = int(input("Valoarea comenzii:"))


if val < 1000:
print('Valoarea comenzii clientului este mai mica decat 1000')
elif val > 1000:
print('Valoarea comenzii clientului este mai mare decat 1000')

Output

4. Utilizarea structurilor repetitive:

43
 For

Cod:
for Nume_Client in lista:
print(Nume_Client)

Output:

 While

Cod:

44
cantitate = 0
while cantitate < 15:
cantitate+=1
if cantitate==13:
print("Noua cantitate:", cantitate)

Output:

5. Definirea, apelarea unei functii

Cod:

45
def ValoareaNoua():
val1 = input (" Valoarea initiala: ")
try:
ValoareaInitiala = int(val1)
except ValueError:
print("Valoare incorecta")
try:
val2 = input (" Procent Marire: ")
except ValueError:
print("Valoare incorecta")

procentMarire = int(val2)/100
valoare = ValoareaInitiala * procentMarire
valoareNoua = ValoareaInitiala + valoare
return valoareNoua

print(" Valoarea Noua: ", ValoareaNoua())

Output:

6. CSV, pandas

Cod:

46
import csv
with open ('MyProtein.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)

Output:

 Pandas

 Instalarea bibliotecii Pandas:

47
 Citirea unui fișier .csv, prin intermediul bibliotecii pandas

Import Pandas Csv:


Cod:
import pandas
df = pandas.read_csv('MyProtein.csv')
print(df)

Output:

48
7. Accesarea datelor cu loc şi iloc;

 Afișarea prin localizare cu iloc a unor coloane din setul inițial

Cod:
import pandas
df = pandas.read_csv('MyProtein.csv')
print(df.iloc[1:2])

Output:

49
 Afișarea cu loc a unor coloane și a unei înregistrări din setul inițial

Cod:
import pandas
df = pandas.read_csv('MyProtein.csv')
print(df.loc[9,'TVA'])

Output:

8. Modificarea datelor în pachetul pandas:

50
Modificarea TVA pentru o anumită înregistrare
Cod:
import pandas
df = pandas.read_csv('MyProtein.csv')
print(df.loc[[6,13,18],'TVA'])
df.loc[[6,13,18],'TVA'] = 150.00
print(df.loc[[6,13,18],'TVA'])

Output:

9. Stergerea de coloane si inregistrari:

51
Stergerea unei coloane:
Cod:
import pandas as pd
pd.set_option("display.max_columns", 10)
df = pd.read_csv('MyProtein.csv')
df= df.drop(columns="TVA")
print(df)

Output:

 Stergerea inregistrarilor – a liniilor

52
Cod:
import pandas as pd
pd.set_option("display.max_column", 10)
df = pd.read_csv('MyProtein.csv')
df = df.drop([24,6,2], axis=0 )
print(df)

Output:

53

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