Zaktualizuj 'DGED3_AgataLenz_Raport.md'

This commit is contained in:
Agata Lenz 2020-11-03 20:08:56 +01:00
parent 04d5a21dee
commit 85c7fb4b7e

View File

@ -0,0 +1,138 @@
# DGED Laboratoria nr 3 - Raport
## Agata Lenz - 444426
### Zadanie 3
#### Pytanie 1: jaka jest liczba unikalnych wartości: daty, klientów, regionów, towarów
Przy pomocy następującego zapytania SQL:
```
SELECT
COUNT(DISTINCT data) AS daty,
COUNT(DISTINCT klient) AS klienci,
COUNT(DISTINCT region) AS regiony,
COUNT(DISTINCT sprzet) AS towary
FROM
dbo.frania200507
```
uzyskałam wynik liczby unikalnych wartości: daty - 28, klientów - 10, regionów - 9 oraz towarów - 17.
#### Pytanie 2: Czy cena hurtowa jest stałą cechą towaru czy zmienia się w czasie?
Poniższe zapytanie SQL zwraca sprzęty, których cena hurtowa zmieniała się w czasie:
```
SELECT F1.sprzet
FROM dbo.frania200507 F1
INNER JOIN dbo.frania200507 F2
ON F1.sprzet = F2.sprzet
AND F1.cena_hurt != F2.cena_hurt
GROUP BY F1.sprzet
```
Otrzymałam wynik:
```
1 lodowki kombi
2 zamrazarki
3 piekarniki
4 lodowki dwudrzwiowe
...
16 kuchnie
17 okapy meblowe
```
Są to wszystkie wartości, jakie występują w kolumnie ```sprzet```, dlatego cena hurtowa żadnego z nich nie jest cechą stałą.
#### Pytanie 3: Czy istnieje zależność między klientem a regionem? (np. czyli klienci łączą się w regiony?)
Po pierwsze, sprawdziłam ile różnych klientów powiązanych jest z każdym z regionów:
```
SELECT region, COUNT(DISTINCT klient) AS 'liczba klientów'
FROM dbo.frania200507
GROUP BY region
```
co dało wynik:
```
Meblarze 2
Others 1
Polnoc 4
Poludnie 5
Południe 3
Sieci 5
Wschod 5
Zachod 6
Zachód 4
```
Następnie sprawdziałam sytuację odwrotną - ile różnych regionów jest związanych z danym klientem:
```
SELECT klient, COUNT(DISTINCT region) AS 'liczba regionów'
FROM dbo.frania200507
GROUP BY klient
```
co z kolei zwróciło wynik:
```
8
AVANS 5
BRW-SA 1
E-WORLD 1
G7 5
MEDIA EXPERT 6
MEDIA MARKT 1
NEONET 2
OKAY 1
PARTNER 5
```
Na tej podstawie stwierdziłam, że między tymi kolumnami nie istnieją zależności.
### Zadanie 4
#### Zweryfikuj wysokość obrotu względem przychodu (ilosc * cena_hurt), procentowo; posortuj względem tego stosunku.
```
SELECT obrot,
CAST(ilosc AS FLOAT) * cena_hurt AS 'przychód',
CAST(CONVERT(numeric(10,2),REPLACE(obrot,',','.')) AS FLOAT) * 100 / (CAST(ilosc AS FLOAT) * cena_hurt)
AS 'obrót względem przychodu'
FROM dbo.frania200507
ORDER BY 'obrót względem przychodu' DESC
```
W wyniku powyższego polecenia otrzymałam stosunek obrotu do przychodu przyjmujący wartości od 0,06% do 100%.
Dla lepszej wizualizacji danych, utworzyłam zestawienie średniego stosunku dla poszczególnych sprzętów:
```
SELECT sprzet,
AVG(CAST(CONVERT(numeric(10,2),REPLACE(obrot,',','.')) AS FLOAT) * 100 / (CAST(ilosc AS FLOAT) * cena_hurt))
AS 'średni obrót względem przychodu'
FROM dbo.frania200507
GROUP BY sprzet
ORDER BY 'średni obrót względem przychodu' DESC
```
Wyniki:
```
okapy meblowe 82,9895988001421
okapy uniwersalne 82,2433847210363
okapy teleskopowe 82,1780211677618
lodowki dwudrzwiowe 82,1420700891221
lodowki kombi 81,2281265142766
kuchnie do zabudowy 80,8952787083378
piekarniki 80,7167890564686
chlodziarki 80,4666737250249
kuchnie 80,0569471316096
zmywarki 60 79,9715094269422
mikrofalowki mechanicznie 79,0030279110425
plyty grzejne 78,5321363449956
mikrofalowki elektronicznie 78,3457986962122
zmywarki 45 78,3061623475599
zamrazarki 77,6963817488054
pralki front 76,5720823184465
okapy kominowe 76,327101123574
```
### Zadanie 5
Polecenie, którego użyłam do uspójnienia danych:
```
UPDATE dbo.frania200507
SET dbo.frania200507.region = ISNULL(Regiony_Mapa.nazwa_poprawna, dbo.frania200507.region)
FROM dbo.frania200507
INNER JOIN Regiony_Mapa
ON dbo.frania200507.region = Regiony_Mapa.nazwa_wersja
```