Co ma polecenie CREATE TABLE do "Sekretów ekonomii"?



W tej książce znalazłem fragment dotyczący głosowania w wyborach powszechnych do władz oraz powszechnej ignorancji wyborców.  Kawa na ławę: ignorancja wyborców jest duża :-(
Wynika z faktu, iż pozyskanie wiedzy, wzrost świadomości wyboru stanowi wysiłek - koszt, dużo wyższy w stosunku do wartości głosu, a zdecydowana większość patrzy na swój koszt, nie kalkuluje jako grupa, tak nie potrafi, a szkoda. 

Czyli książkę polecam do przeczytania :-) 

I teraz przejdę do analityka danych i wykorzystania SQL. Finezyjne rozwiązania, zaawansowany SQL robi wrażenie, ale wymaga wiedzy i tak dalej, a można wiele zadań zrealizować prostymi trikami, ale kosztem „pożarcia” zasobów dyskowych. Czyli mówiąc wprost: zapisuj wyniki swoich zapytań i korzystaj z nich, koszt dysku tu niewielki, a przy braku konieczności aktualizacji danych to wręcz oszczędzisz na kręceniu tych samych zapytań.  A jak zapisać... po prostu tworząc tabele, dodając do nich dane, zmieniając je.
Bez uprawnień do tworzenia tabel, insertowania danych, zmiany danych na swoim schemacie, bez przestrzeni dyskowej dla siebie to po prostu „kicha”. Podkreślam: na swojej dedykowanej przestrzeni, nie mam tu na myśli praw do zmian w źródłach danych.

Każde zapytane analityka generuje jak widać na obrazkach tabelę. Najczęstszym sposobem tworzenia tabeli jest zatem zapisanie wyniku zapytania ako kolejnej tabeli. 

Czyli:

CREATE TABLE XXXXX AS SELECT … FROM …. WHERE  … ;


Spowoduje powstanie tabeli o nazwie XXXXX i będzie można korzystać z danych zgromadzonych w niej. Aktualizacja wymaga jej usunięcia komendą DROP i na nowo. Reszta na obrazkach.

Polecam,
W.

P.S. I jak wyszło mieszanie ekonomii z informacjami o SQL?







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.

Oracle SQL Developer, eksport danych do formatu czytanego przez EXCEL



Marcinie,

Tym razem inaczej sprawę przedstawię niż dotychczas, dzisiaj premiera nowinki. Tu przyznam się, że takie rozwiązanie podpowiedziała mi koleżanka z pracy Aneta, dziękuję przy okazji. 

Po prostu jak wyeksportować wynik zapytania do formatu czytanego przez EXCEL przedstawia załączony krótki film.

Tu tylko dodam, to czego na filmie nie widać, iż by eksport przez Oracle SQL Developer był możliwy to każde pole, kolumna musi mieć unikalną nazwę.

Jeżeli w wyniku zapytania masz na przykład ID, ale raz z tabeli A, a drugi raz z tabeli B, czyli widzisz A.ID oraz B.ID, to nie może tak być – eksport się nie powiedzie, taki feler tego oprogramowania.

Jeżeli nie działa wklejony film to ten sam jest dostępny pod linkiem. 

W.