Wielowymiarowość w Excelu

Excel to doskonałe narzędzie analityczne dostępu do wielowymiarowych baz danych.

Excel to doskonałe narzędzie analityczne dostępu do wielowymiarowych baz danych.

Mimo istnienia na rynku szerokiej gamy różnej klasy programów, służących do analiz, wiele przedsiębiorstw wykorzystuje do tego celu arkusze kalkulacyjne. Z mojego kilkuletniego doświadczenia w pracy nad oprogramowaniem analitycznym wiem, że wśród profesjonalnych analityków finansowych można spotkać wielu zagorzałych zwolenników Excela czy Lotusa, których trudno jest przekonać, że istnieje lepsze narzędzie. Zdarza się, że są oni autorami całkiem sprawnie działających sieci dziesiątków powiązanych ze sobą w niemal niezrozumiały sposób arkuszy, zasilanych z wielu źródeł w sposób półautomatyczny lub ręczny. To rozwiązanie doskonałe, "uszyte na miarę", wprost idealnie pasujące do firmy, ale... Z upływem czasu w systemie tym powstaje tak ogromna liczba arkuszy i połączeń między nimi, że zarządzanie nimi jest bardzo trudne i nadspodziewanie kosztowne.

Podobne lub te same dane znajdują się w kilku różnych miejscach, co często prowadzi do sporządzania raportów zawierających niespójne informacje, nawet jeśli zastosowano czasochłonne makra porządkujące dane. Duże arkusze zajmują niemało miejsca na dysku i w pamięci operacyjnej, powoli się otwierają, zamykają i przeliczają. Brak wielodostępu powoduje, że kilku użytkowników nie może pracować jednocześnie na tych samych danych. Konsolidacja arkuszy także trwa bardzo długo nawet na szybkich komputerach, podobnie jak skomplikowane zapytania na dużych bazach. Raporty takie z reguły zaczynają swój żywot jako przygotowywane ad hoc analizy, zawierające dane wprowadzane ręcznie przez analityków finansowych. W procesie tym najczęściej nie uczestniczy nikt inny i w konsekwencji brak jest jakiejkolwiek dokumentacji, całą wiedzę ma jedna osoba. Kiedy odchodzi ona z firmy, system umiera.

Wielowymiarowe bazy danych

Rozwiązaniem rozszerzającym znacznie funkcjonalność Excela czy Lotusa jest zastosowanie wielowymiarowych baz danych. Łączą się one z arkuszami kalkulacyjnymi, umożliwiając ich użytkownikowi pełny dostęp do bardzo wydajnego, łatwego w użyciu serwera bazy danych, przy jednoczesnym zachowaniu pełnej elastyczności środowiska. Rozwiązanie tego typu przenosi punkt ciężkości zdobywania danych do analizy z informatyka na użytkownika końcowego. Wiele skomplikowanych raportów nie potrzebuje już angażowania personelu technicznego, często nawet utrzymanie systemu raportującego nie wymaga jego ingerencji. Praca zostaje przyspieszona. To, co w opartym na Excelu systemie zabierało dni, trwa minuty (np. dodanie miejsca powstawania kosztów czy wprowadzenie do analiz sprzedaży grupy nowych produktów). Dane są zintegrowane, nie pojawiają się niespójności, każdy użytkownik operuje na tych samych informacjach. Baza wielowymiarowa działa znacznie szybciej niż arkusz, tworzenie raportów i analiz ad hoc jest tu krótsze niż samo napisanie zapytania do bazy relacyjnej czy nawet odnalezienie odpowiedniego pliku z gotową analizą. Wielowymiarowa baza danych dodaje arkuszowi kilka zalet bezpośrednio związanych z jej strukturą: przedstawianie danych i zależności między nimi w sposób intuicyjny dla użytkownika, zarządzanie nieograniczoną liczbą hierarchii o dowolnej głębokości, manipulacje wymiarami, przechodzenie od ogółu do szczegółu (drill-down) i odwrotnie (roll-up), możliwość oglądania danych w różnych ujęciach i perspektywach (slicing and dicing). Parafrazując termin OLAP, można otrzymać On-Line Analytical Spreadsheet.

Na rynku dostępnych jest kilka baz wielowymiarowych. Część z nich zawiera tylko wersje jednostanowiskowe, wśród pozostałych nie wszystkie mają możliwość bezpośredniego połączenia z arkuszami kalkulacyjnymi. Jeżeli jednak produkt zapewnia taką opcję, warto ją wypróbować. Zamienia ona arkusz w wielodostępne, wielowymiarowe środowisko analityczne. Jest dobrym rozwiązaniem dla grup posługujących się ogromnymi ilościami danych gromadzonymi w wielu arkuszach. Między arkuszem a serwerem bazy danych tworzone jest interakcyjne, dynamiczne połączenie, pozwalające użytkownikowi nie tylko patrzeć na dane z dowolnego punktu widzenia, ale również zmieniać je z poziomu swojego arkusza. Zmiana jest natychmiast widoczna dla innych użytkowników, tak jak można tego oczekiwać po architekturze klient/serwer.

Poważnym ograniczeniem arkuszy kalkulacyjnych jako magazynów danych jest to, że dane i obliczenia są składowane razem (tzn. w obrębie jednej aplikacji, niekoniecznie w jednym pliku). Dla każdego raportu czy analizy ktoś musi odnaleźć w innym systemie potrzebne dane, załadować je lub, co gorsza, wprowadzić ręcznie, sprawdzić ich poprawność, a dopiero na końcu wykonać w arkuszu konieczne operacje. Różne sposoby zasilania arkuszy danymi z istniejących systemów relacyjnych napotykały duże trudności ze względu na strukturę źródła danych. Takiego ograniczenia nie ma model danych, który pojawił się wraz z narzędziami klasy OLAP, a będący naturalny dla baz wielowymiarowych. Podstawową strukturą nie jest w nim lista rekordów, lecz przestrzeń danych (kostka). Podobnie jak arkusz kalkulacyjny jest dwuwymiarową tablicą komórek, taka przestrzeń jest tablicą wielowymiarową, a z jednej lub kilku tablic składa się analityczna baza danych. Kostki te są naturalnymi strukturami do porównywania i zestawiania danych, podstawą wszelkich procesów analitycznych. Być może właśnie taka naturalność sposobu prezentacji zadecydowała o popularności arkusza kalkulacyjnego.

W bazach wielowymiarowych wszystkie aksjomaty struktur wielowymiarowych są naturalnymi ich cechami i są realizowane w ich warstwie fizycznej. Zapewnia to automatyczną dowolność perspektyw, rzutowań, ujęć, definiowania podzbiorów przestrzeni analitycznych i wymiarów. Zaprojektowanie widoku w samodzielnym arkuszu wymaga zbudowania znacznej liczby połączeń, wielu operacji kopiowania i wklejania. Tablice przestawne Excela ułatwiają ten proces, ale ilość danych, na których operują, jest ograniczona pamięcią komputera, ponadto funkcja ta jest trudna do zautomatyzowania. W arkuszu zintegrowanym z bazą wielowymiarową do zmiany widoku wystarcza czasem jeden, dwa lub trzy ruchy myszą. Wszystko dzieje się automatycznie i bardzo szybko.