Raport - poprawka

This commit is contained in:
Agata Lenz 2020-11-04 19:21:15 +01:00
parent 85c7fb4b7e
commit a0e99ff268

View File

@ -8,13 +8,11 @@
Przy pomocy następującego zapytania SQL:
```
SELECT
COUNT(DISTINCT data) AS daty,
SELECT COUNT(DISTINCT data) AS daty,
COUNT(DISTINCT klient) AS klienci,
COUNT(DISTINCT region) AS regiony,
COUNT(DISTINCT sprzet) AS towary
FROM
dbo.frania200507
FROM dbo.frania200507
```
uzyskałam wynik liczby unikalnych wartości: daty - 28, klientów - 10, regionów - 9 oraz towarów - 17.
@ -22,12 +20,12 @@ uzyskałam wynik liczby unikalnych wartości: daty - 28, klientów - 10, region
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
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:
```
@ -46,40 +44,40 @@ Są to wszystkie wartości, jakie występują w kolumnie ```sprzet```, dlatego c
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
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
Others 1
Polnoc 4
Poludnie 5
Południe 3
Sieci 5
Wschod 5
Zachod 6
Zachód 4
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
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
AVANS 5
BRW-SA 1
E-WORLD 1
G7 5
MEDIA EXPERT 6
MEDIA EXPERT 6
MEDIA MARKT 1
NEONET 2
OKAY 1
PARTNER 5
NEONET 2
OKAY 1
PARTNER 5
```
Na tej podstawie stwierdziłam, że między tymi kolumnami nie istnieją zależności.
@ -87,20 +85,22 @@ Na tej podstawie stwierdziłam, że między tymi kolumnami nie istnieją zależn
#### 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
SELECT grupa,
podgrupa,
sprzet,
ilosc,
cena_hurt,
ilosc * cena_hurt AS 'przychód',
obrot,
obrot * 100 / (ilosc * cena_hurt) AS 'obrót względem przychodu'
FROM dbo.frania200507
```
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
SELECT sprzet,
AVG(obrot * 100 / (ilosc * cena_hurt)) AS 'średni obrót względem przychodu'
FROM dbo.frania200507
GROUP BY sprzet
ORDER BY 'średni obrót względem przychodu' DESC
@ -108,31 +108,31 @@ Dla lepszej wizualizacji danych, utworzyłam zestawienie średniego stosunku dla
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
okapy meblowe 82,9895
okapy uniwersalne 82,2433
okapy teleskopowe 82,1779
lodowki dwudrzwiowe 82,142
lodowki kombi 81,228
kuchnie do zabudowy 80,8952
piekarniki 80,7167
chlodziarki 80,4666
kuchnie 80,0568
zmywarki 60 79,9714
mikrofalowki mechanicznie 79,0029
plyty grzejne 78,532
mikrofalowki elektronicznie 78,3457
zmywarki 45 78,3061
zamrazarki 77,6963
pralki front 76,572
okapy kominowe 76,327
```
### 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
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
ON dbo.frania200507.region = Regiony_Mapa.nazwa_wersja
```