Kategorie
hurtownia danych Raportowanie

Jak uruchomić hurtownię danych – planowanie

1. Analiza potrzeb raportowych

Analiza potrzeb raportowych powinna rozpocząć się przeglądu używanych raportów. W drugim kroku powinieneś dokonać analizy potrzeb raportowych użytkowników. Analiza to dość duże wyzwanie. W mojego doświadczenia wynika, że w wielu przypadkach trudno jest otrzymać precyzyjną odpowiedź. Dobrym sposobem jest prośba o przygotowanie draftu raportu przez użytkownika. Jeśli ma on uświadomione potrzeby będzie umiał dość szybko przygotować wzoru raportów w excelu, jeśli nie to czeka Cię dużo pracy. 

Analiza potrzeb raportowych:

  • przegląd istniejących raportów
  • analiza projektów raportów przygotowanych przez użytkowników
  • przygotowanie draftów przez analityka

Jedno jest pewne “apetyt rośnie w miarę jedzenia” i potrzeby i raporty zmienią się. Potrzeba będzie kilku iteracji, aby ustabilizować główną listę raportów.

2. Przygotowanie źródeł danych

Po wykonaniu zestawu raportów możesz przystąpić do przygotowania źródeł danych. Realizując to zadanie powinieneś pamiętać o:

  • źródło danych tj. baza danych, plik, API lub inne źródło
  • zakres danych –  z każdego źródła tzn. jakie dane będziesz używał w raportach kolumny i jeśli to konieczne odpowiednie filtry. Przygotuj dane nadmiarowe tzn. wyobraź sobie kolejne potrzeby użytkownika i od razu dodaj je do przygotowywanych zakresów.
  • uprawnienia – jeśli nie będziesz mógł określić odpowiednich uprawnień w systemie raportowym powinieneś to zrobić na tym etapie i zróżnicować źródła w zależności od późniejszych uprawnień w raportach

3. Ustalenie struktury uprawnień

Struktura uprawnień jest bardzo ważnym elementem systemu raportowego. Musisz o niej pomyśleć, już na początkowym etapie projektowania hurtowni danych. W zależności od wybranego rozwiązania raportowego implementację uprawnień możesz wykonać na różnym etapie. 

Szczególnie ważne jest to kiedy zamiast systemu raportowego używać będziesz narzędzia, które bezpośrednio łączy się z bazą danych. Do takich rozwiązań należy Excel, czy też desktopowa wersja PowerBI. Zastosowanie jako narzędzia raportowego daje możliwość po zapisaniu połączenia do bazy dostęp do wszystkich danych, do których użytkownik wykorzystany do podłączenia. Dlatego też, w takie sytuacji powinieneś, przygotować użytkowników w bazie z odpowiednimi dostępami, aby niepowołani użytkownicy nie mieli dostępu do widoków/tabel. 

Jeśli używany przez Ciebie system raportowy posiada zarządzanie uprawnieniami wówczas nie ma konieczności definiowania przy projektowaniu tabel czy widoków w bazie danych. Niemniej jednak zaprojektowanie struktury uprawnień przed przystąpieniem do realizacji pomoże Ci w skutecznym wdrożeniu systemu.

Projektowanie uprawnień należy rozpocząć od skatalogowania raportów pod względem zawartości. Mogą one mieć następującą strukturę:

Raporty:

  • sprzedażowe
  • produktowe
  • magazynowe
  • księgowe
  • zarządcze

Powyższa struktura to wyłącznie przykład, którym możesz się zainspirować. Skonsultuj dostęp do danych z biznesem i ustal prawidłową strukturę uprawnień. 

4. Wybór narzędzia do raportowania

Jednym z najważniejszych kroków w uruchomieniu hurtowni danych jest wybór narzędzia do raportowania. Tak to może wydać się nie do końca logiczne. Dlaczego przed uruchomieniem hurtowni danych powinieneś wybrać system raportowy? Odpowiedź na to pytanie jest kilku wymiarowa. Po pierwsze niektóre systemy raportowe współpracują w konkretnym silnikiem bazy danych co ma mega znaczenie zanim stworzymy hurtownię. Po drugie jak już pisałem wcześniej systemy raportowe mają niewystarczające zarządzanie uprawnieniami. Przez to powinieneś zadbać o uprawnienia w innymi miejscu budowy hurtowni danych. Ostatnie jednak bardzo ważne pytanie brzmi czy system będzie w formule saas czy zainstalowany zostanie lokalnie. Ma to także, dość duży wpływ na sposób realizacji rozwiązania. 

Do najpopularniejszych systemów raportowych należą:

5. Narzędzie do tworzenia hurtowni

Najpopularniejsi dostawcy silników baz danych w wyższych wersjach licencjonowania mają narzędzia do budowania hurtowni danych. W rozwiązaniach Microsoft jest MS Analysis Services, Oracle ma Autonomous Data Warehouse. Są też narzędzia takie jak Tabelau, czy Pentaho Data Integration, które są niezależne od dostawców silnika bazy danych. 

Ja najczęściej korzystam z Pentaho Data Integration. Jest to narzędzie świetnie współpracujące z wieloma dostawcami baz danych tj. MS SQL, Oracle, MySQL, PostgreSQL, MariaBD i innymi. Transformacje danych wykonywane w Pentaho przetwarzane są bardzo sprawnie nawet na dużych ilościach danych. Nie są wymagają przy tym dużych zasobów sprzętowych. 

Zastosowanie Pentaho daje dużą elastyczność w zastosowaniu bazy danych na jakiej będzie pracowała hurtownia. Transformacje wykonywane przez ten system mogą być realizowane przez zapytania SQL oraz dla mniej zaawansowanych użytkowników poprzez zastosowanie odpowiednich elementów aplikacji.

Interface i projektowanie transformacji opiera się system drag and drop odpowiednich elementów tj. np. pobieranie danych z bazy danych czy pliku, zapis danych do tabeli, moduły obliczeniowe czy filtrujące.

Po zaprojektowaniu transformacji można je uruchamiać ręcznie lub za pomocą harmonogramu zadań zaplanowanych windows. 

Projektowanie hurtowni danych to niezwykła przygoda usprawniająca, porządkująca pracę każdego analityka. Jak raz zaczniesz to nie będziesz mógł przestać uwaga to uzależnia. Masz chciałbyś się podzielić swoimi doświadczeniami lub masz pytania napisz do mnie  marcin@karwowski.biz.

Kategorie
hurtownia danych Raportowanie

Hurtownia danych – jak, po co i dlaczego?

Hurtownie danych to specjalnie przygotowane bazy danych na potrzeby raportowania. Jest kilka zasadniczych powodów stosowania ich:

  1. Optymalizacja dostarczania raportów
  2. Połączenie danych z różnych źródeł (różne bazy, pliki, API)
  3. Integracja danych – zapewnia spójność danych z różnych źródeł

Głównymi korzyścią zastosowania hurtowni danych w Twoim biznesie jest możliwość analizowania dużych (często zagregowanych) ilości danych. Analizy te wspomagają podejmowanie decyzji biznesowych. 

William Inmon uważany za twórcę hurtowni danych wyróżnia cztery unikatowe cechy/właściwości hurtowni danych, należą do nich:

  • Przedmiotowość – zastosowanie hurtowni danych umożliwia analizowanie funkcjonalnych obszarów biznesu np. sprzedaż, produkcja, realizacja procesów magazynowych
  • Integracja – zastosowanie hurtowni danych umożliwia zachowanie spójności danych pochodzących z różnych źródeł
  • Trwałość – dane zgromadzone w hurtowni danych są stabilne i niezmienne w czasie 
  • Zmienność w czasie – dane zawarte w hurtowni uwzględniają ich zmiany zachodzące w czasie

Dobrze zaprojektowana hurtownia danych umożliwia bardzo szybką i wysoko przepustowe przetwarzanie zapytań raportowych. Za pomocą odpowiednich zapytań jest możliwość redukowania czasu odpowiedzi na zapytania zarówno szczegółowe, jak i zagregowane. Hurtownia danych w rozproszonych, wieloźródłowych systemach danych jest doskonałą podstawą systemów raportowych, business intelligence. Dzięki niej możliwe jest dostarczanie użytkownikom raportów, pulpitów nawigacyjnych, dashboardów i innych interfejsów. 

Jakie technologie/umiejętności są wymagane do pracy z hurtowniami danych?

Podstawowe umiejętności wymagane do budowy hurtowni danych to:

  • identyfikacja zależności pomiędzy danymi zwłaszcza w przypadku danych wieloźródłowych 
  • średnio zaawansowana umiejętności tworzenia zapytań SQL, głównie SELECTów
  • podstawowa wiedza z zakresu administracji bazami danych (tworzenie indesków, backupów, vacum’ów itp.)
  • przy tworzeniu bardziej zaawansowanych hurtowni pobierających dane z API, wymagana wiedza dotycząca komunikacji API REST oraz SOAP

Zastosowanie hurtowni danych może być dość szerokie. W firmach handlowych może to być np. połączenie danych w raportach:

  • CRM + ERP + system magazynowy WMS
  • systemów handlowych oraz systemów analityki web Google Analytics
  • z platform ecommerce oraz systemu sprzedażowego
  • z plików od dostawców usług np. DPD i powiązanie ich z dokumentami sprzedażowymi, dzięki temu możliwe jest dokładne badanie rentowności

Architektura hurtowni

Do najbardziej typowych architektur tworzenia hurtowni danych należą:

  • prosta – struktura wszystkich hurtowni danych jest dość podobna. Przechowuje ona metadane, dane podsumowujące i dane nieprzetworzone. Repozytorium zasilane jest z baz danych systemów działających w przedsiębiorstwie na jednym końcu i dają dostęp dla użytkowników końcowych na drugim końcu. Pomiędzy realizowane są analizy i transformacje niezbędna do prawidłowego przygotowania raportów. 
  • prosta z obszarem pomostowym – ta architektura dodaje dodatkowy krok przed zasileniem hurtowni dane są wstępnie przetwarzane i “oczyszczane” ze zbędnych informacji
  • piasta-szprychy – polega na dodaniu dodatkowych danych pomiędzy centralnym repozytorium, a użytkownikami końcowymi. Daje to możliwość obsługi różnych pionów biznesowych. Po uzupełnieniu danych przez użytkowników dane trafiają do odpowiedniej składnicy danych 
  • obszary izolowane – obszary izolowane tzw. piaskownice, sanbox’y to prywatne, bezpieczne obszary przeznaczone do “prywatnych” / indywidualnych analiz dla wybranego użytkownika lub grup użytkowników. Takie obszary są najczęściej indywidualnie przygotowywane dla na potrzeby konkretnych użytkowników. 

Projektowanie hurtowni danych

  1. Ustalenie interesariuszy – to odpowiedź na pytanie, kto i w jakim zakresie będzie korzystał z hurtowni. Ustalenie zakresu przyszłych raportów i sposobu korzystania z danych.
  2. Serwer i baza danych – to podstawowa operacja, od której trzeba zacząć. Wybór bazy danych może być zdeterminowany bazami używanymi już w firmie lub wymaganiami systemu raportowego 
  3. Wybór narzędzia – narzędzie do budowy hurtowni danych to jeden z najważniejszych kroków i bardzo trudny do zmiany kilka słów o narzędziach napisałem Tu – Narzędzia ETL
  4. Źródła danych – przygotowanie odpowiednich źródeł danych pochodzących z systemów działających operacyjnie w przedsiębiorstwie
  5. Mechanizmy zasilające – przygotowanie mechanizmów zasilających hurtownie na bazie źródeł z p. 1
  6. Harmonogramy – zaplanowanie harmonogramów zasilających hurtownię danych. Dość ważne, aby odpowiednio wybrać zasilenia dla poszczególnych źródeł. Należy je dostosować przede wszystkim do częstości zmian danych, ilości / rozmiaru danych 
  7. Transformacje – to najczęściej procesy obliczeniowe, agregujące lub łączące dane
  8. Widoki/tabele – w zależności od przyjętego rozwiązania jednym z ostatnich kroków planowania hurtowni może być przygotowanie widoków/ tabel przeznaczonych do generowania raportów 
  9. Mechanizmy sprawdzające – nie można zapomnieć o przygotowaniu mechanizmów / logów umożliwiających w szybki sposób sprawdzenie poprawności zasileń oraz transformacji danych. Dobre zaplanowanie tego podczas projektowania hurtowni oszczędzi z czas podczas eksploatacji. Najlepiej jest przygotować automatyczne emaile w przypadku pojawiających się w procesie błędów. 
  10. Polityka backupowa – to bardzo ważny element, o którym w ferworze tworzenia często zapominamy. Jednak to konieczność. Zabezpieczenie danych to gwarancja stałego dostępu do raportów dla biznesu. 

Praca z hurtownią danych

Codzienna praca osoby projektującej hurtownię to przede wszystkim weryfikacja poprawności jej działania. W praktyce oznacza to sprawdzenie, czy zasilenie, transformacje oraz backupy wykonały się prawidłowo. Wsparciem w tym mogą być odpowiednio przygotowane raporty oraz emaile automatyczne wysyłane w przypadku wystąpienia błędu. Trzeba się trochę przy tym napracować jednak w eksploatacji hurtowni danych bardzo to pomaga. 

Wyzwania projektowe

Najtrudniejszym elementem projektowania hurtowni jest zaplanowanie danych koniecznych do przeniesienia do hurtowni. Dlatego najważniejszym elementem planowania wdrożenia są w miarę możliwości precyzyjne “prototypy” raportów wykonane np. w excelu, dzięki którym możliwe będzie określenie minimalnych danych jakie mają być przeniesione i przetransformowane. 

Masz pytania pisz na marcin@karwowski.biz.

Kategorie
Raportowanie

Google data studio – do czego można używać?

Każda osoba działająca w internecie używa albo powinna używać Google Analytics znajduje się w nim wiele raportów predefiniowanych przez speców z google. Chciałbym Ci pokazać kilka raportów, które można zrobić w Google Data Studio i które pokazują bardzo ważne i ciekawe dane.

Raport zmian cen produktów

Jednym z kluczowych raportów jest sprzedaży produktów zawierający między innymi informację o zmianach cen, zmianach ilości sprzedanych produktów na podstawie którego można obserwować jak zmiana cen wpływa na sprzedaż.

Podłączenie Google Analytics do Google Data Studio

  1. Wchodzisz na https://datastudio.google.com/ i wybierasz Try It For Free
  1. Po zalogowaniu do konta google (najlepiej tego, dla którego udostępnione masz Google Analytics) wyświetla się okno raportów
  1. Dodawanie źródła danych w Google Data Studio

Zwróćcie uwagę na to, że w gogole data studio można podłączyć dane z bardzo wielu różnych źródeł. Jest w nim możliwość podłączenia również możliwość podłączenia danych z waszych lokalnych czy zdalnych baz danych ale koniecznie musicie w takim przypadku zwrócić uwagę bezpieczeństwo połączenia. Konieczne jest w tym przypadku zastosowanie szyfrowanego połączenia ale o tym może kiedy indziej.

Wybiegasz Google Analytics.

Wpisz swoją nazwę źródła zgodnie ze zrzutem i zezwól na podłączenie źródła.

W kolejnym kroku wybierasz 1) konto, 2) usługę, 3)widok

Po podłączeniu pojawi się okno jak powyżej.

Nowy raport 

Wybierasz źródło i Dalej

Po wybraniu tabeli dodajesz wiersze i kolumny do raportu

W ostatnim kroku zmieniasz typ tabeli na tabelę z mapą ciepła oraz zakres dat do porównania. 

Gotowe 🙂 W powyższej tabeli widać podstawową użyteczność raportu.zwiększenie ceny w tym przypadku spowodowało zmniejszenie sprzedaży, a spadek ceny wzrost sprzedaży. 

Generalnie na podstawie tego raportu można poszukiwać odpowiedzi na pytanie o wzrosty oraz spadek sprzedaży towarów w różnych okresach. 

To tylko jeden z przykładów użytecznego wykorzystania Google Data Studio. Jak w każdym przypadku ogranicza Cię tylko własna wyobraźnia ale chciałem pokazać Ci jak można wykorzystać to potężne narzędzie. 

Kategorie
Raportowanie

Narzędzia dla analityka – ETL

Narzędzia ETL

Ilość danych zbieranych czy też pozostawianych przez obecnie używane systemy jest ogromna. WIele przedsiębiorstw nie wykorzystuje w pełni możliwości podejmowania decyzji na podstawie oraz w oparciu o dane pochodzące z własnych systemów. W większości firm są dane pochodzące z:

  • systemu ERP
  • strony sprzedażowej poprzez google analytics
  • systemu magazynowego
  • systemu księgowego
  • systemy CRM
  • i wielu innych

Połączenie powyższych danych jest dużym wyzwaniem. Często zdarza się, że znajdują się one w różnych silnikach bazy danych tj. MS SQL, PostgreSQL, Oracle, SAP czy też znajdują się w plikach excel, XLM, CSV, .dbf.

Rozwiązaniem umożliwiającym połączenie danych z różnych systemów / źródeł są narzędzia ETL (z języka angielskiego extraction, transformation, loading).

ETL to proces składający się z:

  • Ekstrakcji – pobranie danych z systemu źródłowego (ERP, CRM, GoogleAnalytics itp)
  • Transformacji – podproces, w ramach którego dane mogą być czyszczone, filtrowane, oraz obliczane wg reguł biznesowych
  • Ładowanie – do zewnętrznej tabeli raportowej czy też do zewnętrznej bazy danych raportowej / hurtowni danych podłączonej do systemu raportowego.

Do najpopularniejszych narzędzi ETL należą m.in.:

Zastosowanie narzędzi ETL umożliwia zintegrowane raportowanie z wielu źródeł, a co za tym idzie możliwość wykorzystania większej ilości danych i w konsekwencji skuteczniejsze podejmowanie decyzji biznesowych.

Daj znać jakich narzędzi używasz do raportowania czy też do budowania hurtowni danych marcin@karwowski.biz

więcej narzędzi usprawniających pracę analityka na szkolaanaliz.pl