Zaktualizuj 'DGED3_AgataLenz_Raport.md'
This commit is contained in:
parent
04d5a21dee
commit
85c7fb4b7e
@ -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
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user