Hurtownia danych i kostki OLAP – o zaawansowanych potrzebach w obszarze raportowania
Obecnie gromadzimy i przetwarzamy ogromne ilości danych, spływające z wielu różnych źródeł. Skuteczne raportowanie umożliwia przekształcenie danych w informacje, a informacje w wiedzę. Często mocno skupiamy się na działalności operacyjnej i wypracowywaniu zysku, natomiast bieżąca analiza danych jest równie istotna dla sprawnego zarządzania rozwojem przedsiębiorstwa.
Piotr Stańczyk
ROZLICZNE SYSTEMY WSPIERAJĄCE ZARZĄDZANIE PRZEDSIĘBIORSTWEM
Projektując system przeznaczony do zarządzania w oparciu o dane, powinno się uwzględniać 3 zasadnicze czynniki. Pierwszy czynnik określiłbym jako możliwości integracyjne oprogramowania. W firmach funkcjonują różnorodne systemy informatyczne. Mowa tutaj o systemach: finansowo-księgowym, CRM, obsługującym eCommerce, gospodarkę magazynową czy produkcję. Są one łączone ze sobą odmiennymi rozwiązaniami integrującymi (ich zakres integracji zależy od producenta).
Kolejnym czynnikiem jest prawidłowość architektury procesów.
Trzecim czynnikiem (o często niedocenianym znaczeniu) jest wiarygodność przedstawianych danych. Dane te zawierane są w raportach, wskaźnikach i wykresach. Na tym obszarze chciałbym się skupić w tym wpisie.
CZY RAPORTOWANIE W PAŃSTWA FIRMIE JEST PRAWIDŁOWO ZORGANIZOWANE?
Warto zadać sobie pytania: „W jakim stanie jest raportowanie w mojej organizacji? W jakim stopniu spełnia swoją rolę? Czy zapewnia kierownikom, dyrektorom i zarządowi odpowiednie wsparcie w podejmowaniu decyzji?”
Dlaczego to jest ważne? Z uwagi na fakt, że w tym obszarze wyobrażenia często rozmijają się z rzeczywistością.
Etap spotkań analitycznych, który jest pierwszą fazą wdrożenia, pozwala na rozpoznanie obecnego stanu systemu do raportowania oraz potrzeb w tym zakresie. Często podczas rozmów identyfikujemy różnego rodzaju ograniczenia i słabe punkty funkcjonujących rozwiązań. Przekładają się one na skuteczność i efektywność raportowania, a tym samym na trafność podejmowanych decyzji.
Warto także zwrócić uwagę na użyteczność danych dla użytkowników końcowych.
Co może zaskoczyć, lista uwag potrafi być naprawdę długa. Od trudności w integracji danych z wielu różnych źródeł, przez odpowiednie ujednolicenie i zagregowanie dużej ilości rekordów, aż po czas uruchamiania raportu i zabezpieczenia związane z uprawnienia do określonych miar i wymiarów.
Dlatego odpowiedni dobór narzędzi jest kluczowy. Być może właśnie wtedy należy rozważyć wprowadzenie Hurtowni Danych i raportów zbudowanych na kostkach OLAP.
CZYM SĄ HURTOWNIE DANYCH I KOSTKI OLAP?
Hurtownia Danych (Data Warehouse) to rodzaj bazy danych, która jest zorganizowana i zoptymalizowana w kontekście wskazanego obszaru danych opisanego wymiarem czasu. Przeznaczona jest do prowadzenia i wspierania operacji w zakresie analiz biznesowych (Business Intelligence). Ze względu na specyfikę i przeznaczenie tego typu baz mogą one zawierać duże ilości danych historycznych i bieżących, pochodzących z różnych źródeł.
Idąc krok dalej, w środku Hurtowni Danych znajdują się m.in. kostki OLAP (Online Analitycal Processing), będące niczym innym jak zdefiniowanymi strukturami pozwalającymi na szybką analizę zawartych w nich danych wg określonych miar i wymiarów. Użycie określenia „kostka” nie jest tutaj przypadkowe - dane nie są gromadzone w „zwykłych” tabelach, ale obiektach wielowymiarowych, tj. kostkach.
Bazy danych o opisanej wyżej konstrukcji mogą dotyczyć zróżnicowaych obszarów działalności, którymi mogą być na przykład:
• Sprzedaż – analiza sprzedaży i zysków, marże pokrycia, wskaźniki pod kątem rentowności poszczególnych klientów, regionów czy produktów.
• Księgowość i Finanse - analizy płatności i rozliczeń, obroty i salda.
• Kadry – analiza czasu pracy i nieobecności pracowników, poziom satysfakcji pracowników.
• Magazyn – ruchy i stany magazynowe, inwentaryzacja.
• Zakupy – analiza zakupów względem wartości, rodzaju produktów czy czasu realizacji zamówień.
PRZEWAGA HURTOWNI DANYCH NAD STANDARDOWYM RAPORTOWANIEM
Spróbujmy ocenić obydwie metody w 3 kategoriach:
1. Dostępności danych źródłowych;
2. Wydajności raportów, czyli czasu uruchomienia i przetwarzania danych;
3. Uprawnień do danych w obrębie raportu.
1) Dostępność danych źródłowych
Zestawienia, które są generowane w obrębie poszczególnych systemów bazują zwykle na danych pochodzących z tych systemów. Mogą odwoływać się do danych z innych źródeł, jeżeli zostały one uwzględnione w ramach integracji pomiędzy wskazanymi programami. Czasami dane potrzebne do analiz nie są ewidencjonowane w żadnej bazie danych, a dostępne są jedynie na poziomie plików (np. Excel).
Jeżeli nie dysponujemy odpowiednimi narzędziami (np. Hurtownią Danych), to najczęściej jesteśmy pozbawieni szansy na budowanie i uruchamianie zaawansowanych raportów. Nazywam tak raporty gromadzące dane przekrojowo, z wielu systemów. Mogą być nimi raporty dotyczące rentowności, projektów czy inne rozbudowane zestawienia controllingowe.
Hurtownia Danych jest w tym wypadku dobrym rozwiązaniem. Zasadniczą funkcją procesu ETL (Extract-Transform-Load), zasilającego Hurtownię Danych, jest pozyskiwanie danych ze źródeł zewnętrznych. Takie podejście do gromadzenia danych rozwiązuje trudności związane z dostępnością danych w raportach.
Istnieje wiele rozwiązań opartych o Hurtownię Danych (takich jak Platforma INTENSE). Kompletuje ona dane pochodzące nawet z plików Excel lub wprowadzane bezpośrednio przez operatorów. Bardzo dobrze radzi sobie z kolekcją danych zgromadzonych w innych systemach.
2) Wydajność raportów, czyli czas uruchomienia i przetwarzania danych
Raporty generowane w poszczególnych systemach informatycznych bazują na „surowych” danych. Dane surowe to dane mające formę identyczną do tej, w jakiej wprowadzono je do systemu. Operator końcowy może oczekiwać jednak, aby finalnie te dane były prezentowane w inny sposób.
Wykorzystywanie danych surowych sprawia, że (dopiero) w momencie uruchomienia raportu, informacje w nim zawarte muszą zostać odpowiednio zagregowane, przeliczone i posortowane. Analizie zazwyczaj podlegają duże wolumeny danych, co wydłuża całkowity czas kompilowania raportów.
W niektórych organizacjach można znaleźć raporty, które uruchamiają się lub przeliczają od kilku minut do nawet kilku godzin. Nasuwa się pytanie: „czy ten problem można rozwiązać lub chociaż go zminimalizować?” Odpowiedź brzmi: TAK! W celu wyjaśnienia w jaki sposób się to obywa, konieczne będzie odwołanie się do procesu ETL i kostek OLAP.
PROCES ETL
Jak już zostało wspomniane, w pierwszej fazie procesu ETL pozyskiwane są dane z systemów źródłowych. Następnie są poddawane transformacji do oczekiwanej postaci. Na tym etapie następuje także oczyszczenie danych, sformatowanie ich oraz zbudowanie odpowiednich powiązań.
Ostatnim etapem jest załadowanie danych. Dane są ujednolicane i przygotowywane do składowania i późniejszego odczytywania. Docelowy raport będzie opierał się o kostkę OLAP zawierającą określone miary i wymiary, gdzie dane wstępnie pogrupowane, w oparciu o przyjęte założenia, będą mogły być wydajniej ładowane i prezentowane.
W momencie uruchomienia raportu wyeliminowany jest czasochłonny proces wyliczania raportu do formatu wymaganego w raporcie wynikowym, ponieważ ta praca została wykonana wcześniej (w procesie ładowania danych do kostek OLAP).
3) Uprawnienia do danych w obrębie raportu
Systemy ze standardowym raportowaniem – opartym np. o zapytania SQL, mają jasno wyznaczoną politykę zarządzania uprawnieniami dostępu do danych. Działa ona na zasadzie zero-jedynkowej: „Brak uprawnień”/”Nadano uprawnienia do uruchomienia raportu”. Nie mają jednak możliwości ograniczenia zakresu prezentowanych danych w zależności od operatora uruchamiającego raport.
Czy w praktyce może to stanowić problem? Jak obsłużyć scenariusz, w którym należy zaprezentować dane sprzedażowe za wskazany okres poszczególnym dyrektorom oddziałów dużej instytucji, gdzie każdy z dyrektorów powinien mieć wgląd tylko w wyniki swojego oddziału?
W wielu przypadkach istnieje potrzeba kontrolowania, jaki zakres danych jest udostępniany użytkownikowi raportu. W rozwiązaniach z Hurtownią Danych dostępna jest możliwość powiązania uprawnień danych zawartych w kostkach analitycznych z uprawnieniami dla ról użytkowników zdefiniowanych w SQL Server Analysis Services.
ZASTOSOWANIE HURTOWNI DANYCH W GRUPACH KAPITAŁOWYCH, KONSORCJACH I HOLDINGACH
Hurtownia Danych wraz z uzupełniającymi ją obszarami analitycznymi, stanowi jedną, zunifikowaną podstawę raportowania operacyjnego, strategicznego i controllingu. Kadrze zarządzającej, analitykom, kontrolerom, a także pracownikom działów finansowo-księgowych i administracyjnych zostaje udostępnione narzędzie w postaci raportów.
Raportowanie wsparte jest mechanizmami takimi jak: dynamiczne raporty ad-hoc, raporty statyczne i pulpity menedżerskie. Pozwala ono na dostęp do szczegółowych danych. Działa również z uwzględnieniem praw dostępu do informacji. Umożliwia bieżące zarządzanie przetwarzaniem zdefiniowanych kryteriów.
System raportowania oparty o Hurtownię Danych i wielowymiarowe dziedziny analityczne (kostki OLAP) z pewnością dobrze sprawdzi się w dużych przedsiębiorstwach i korporacjach o złożonej strukturze organizacyjnej. Spotykamy się tam z szeregiem różnych wymagań, których tradycyjny sposób raportowania nie jest w stanie obsłużyć.
Zachęcamy do zapoznania się z przykładem wdrożenia wieloźródłowej Hurtowni Danych w firmie Holding1, polskiej grupie kapitałowej, działającej w trzech sektorach: handlu, wynajmu samochodów oraz deweloperstwa. Grupa ta działa na rynku już ponad 10 lat, a Platforma INTENSE stanowi jeden z kluczowych systemów analitycznych w jej strukturze.
Więcej informacji znajdziesz tutaj: link do referencji.