Raport - poprawka
This commit is contained in:
parent
85c7fb4b7e
commit
a0e99ff268
@ -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
|
||||
```
|
Loading…
Reference in New Issue
Block a user