Tabela przestawna



Dzisiaj nieco z innej beczki. Nieco z codzienności pracy analityka danych. Najpierw podłoże (tło zadania):

Firma sprzedaje tablety, komputery i akcesoria do nich. Sprzedażą zajmuje się kilkanaście osób podzielonych na cztery regiony. Każdy sprzedawany produkt  jest przypisany do jednej z czterech grup cenowych de facto oznaczających wysokość marży (1 – 2%, 2 – 5%, 3 – 7%, 4 – 10%, 5 – 13%). Sprzedaż jest prowadzona od początku 2010 roku i mamy dane za cztery lata.

Analityk danych został zaproszony na spotkanie jako konsultant -> źródło informacji. Spotkanie ma być pomiędzy Sprzedażą a Zarządem i będzie dotyczyć programu premiowania.

No właśnie, zatem jak ma się przygotować do tego spotkania Analityk, przecież nie będzie wyłącznie zbierał pytania :-)

Analityk danych ponieważ wie, iż w trakcie spotkania nie będzie miał połączenia z bazą danych przygotowuje sobie kostkę danych, po prostu danymi wstępnie już agregowanymi - poniżej przykładowa kwerenda. Te dane zapisuje w formacie EXCEL. Tak będąc przygotowanym jest w stanie szybko tworzyć dodatkowe wykresy, tabelki, podsumowania korzystając z wbudowanej funkcjonalności EXCEL tj. możliwości wstawienia tabeli przestawnej.

W załączeniu kilka slajdów jak ustawić tabelę przestawną (tutaj) oraz plik w excelu z przykładowymi danymi oraz zrobionymi przykładowymi tabelami przestawnymi i wykresem przestawnym (tutaj). 

select

  to_char(data_transakcji,'YYYY') rok
, to_char(data_transakcji,'YYYY-MM') rok_miesiac
, sprzedawca
, case
    when (produkt_kod,1,1)='K' then '1 Komputer'
    when (produkt_kod,1,1)='T' then '2 Tablet' 
  end linia_produktowa;
, grupa_cenowa
, case
    when region in (1,2,3,4) then 'Północ'
    when region in (5,6,7,8) then 'Południe'
    when region in (9,10,11,12) then 'Wschód'
    when region in (13,14,15,16,17) then 'Zachód'
  end region
, sum(kwota_transakcji) sprzedaz
, count(*) liczba transakcji

from baza_traksakcji

where

to_char(data_transakcji,'YYYY') in  ('2010','2011','2012','2013');
group by
to_char(data_transakcji,'YYYY')
, to_char(data_transakcji,'YYYY-MM')
, sprzedawca
, case
    when (produkt_kod,1,1)='K' then '1 Komputer'
    when (produkt_kod,1,1)='T' then '2 Tablet' 
   end
, grupa_cenowa
, case
    when region in (1,2,3,4) then 'Północ'
    when region in (5,6,7,8) then 'Południe'
    when region in (9,10,11,12) then 'Wschód'
    when region in (13,14,15,16,17) then 'Zachód'
    end;


W.

Brak komentarzy:

Prześlij komentarz