Dostęp do informacji dotyczącej prowadzonej działalności jest podstawą egzystowania i rozwoju każdej firmy. To co robimy, jakie są tego koszty, jakie mamy przychody jest podstawą podejmowania decyzji o rozwoju naszej firmy. Do niedawna głównym narzędziem analizy i prezentacji danych w Onecie i DreamLabie był rozbudowany arkusz Excel, którego możliwości wywoływały ogólny zachwyt. Wyciąganie danych z różnych baz, prezentacja danych w tabelach przestawnych, wykresach, dowolne przetwarzanie otrzymanych danych, dowolne formatowanie wyglądu raportu…. Excel + VBA mógł wszystko, a dodatkowym atutem było to, ze Excela znają wszyscy i każdy użytkownik końcowy w łatwy sposób bez zbędnego przekonywania jest w stanie poradzić sobie z obsługą narzędzi.

Jako fan MS Excel’a, nie widziałam innej drogi rozwoju narzędzi do raportowania zarządczego jak właśnie ten „wspaniały Excel”, a moje zdanie podzielało wiele koleżanek i kolegów. Ponieważ raporty spełniały wszelkie wymagania i byliśmy w stanie stworzyć każdy raport dostosowany nawet do indywidualnych potrzeb konkretnego użytkownika, apetyt na kolejne raporty zaczął rosnąć. Ciągła potrzeba „podpinania” danych z kolejnych systemów, tworzenia coraz bardziej skomplikowanych formatów raportów spowodowała, że nasz „cudowny Excel” zaczął nie wytrzymywać presji… Generowanie raportów zaczynało zabierać coraz więcej czasu, a to zaczęło być uciążliwe dla użytkownika. Pojawił się też problem z nadążaniem narzędzi za zmianami w procesie czy wymaganiach, bo o ile efekt końcowy robił wrażenie, to aby go uzyskać należało się nieźle napocić, aby kod dostosować do zmian.

Alternatywą dla Excela stał się Bussines Objects, który brzmiał i wyglądał początkowo przerażająco, więc z pewną taką nieśmiałością przystąpiłam do realizacji pierwszego projektu w BO. Bardzo szybko okazało się, że to narzędzie nie gryzie, pracuje się z nim szybko i przyjemnie. Oczywiście podstawą sukcesu jest dobre przygotowanie danych, ale ten problem dotyczył również Excela, pozostałe kwestie są w BO dużo prostsze, nawet dla początkującego użytkownika, a wykorzystanie go zamiast dotychczasowych narzędzi może znacznie zmniejszyć udział programistów w całym cyklu życia projektu/raportu.

Proces tworzenia raportów dzielimy na 4 etapy:

  • przygotowanie danych,
  • przygotowanie świata obiektów\przygotowanie narzędzi pobierania danych,
  • przygotowanie raportów,
  • przeglądanie raportów.

Przygotowanie danych do raportów

Pierwsza faza tworzenia raportów to już wspomniane przygotowanie danych, w Bussines Objects, nie różni się ona niczym od pierwszej fazy tworzenia raportów w Excelu i VBA. Na tym etapie niezbędne jest wykorzystanie programisty, posiadającego wiedzę i doświadczenie z zakresu baz danych i hurtowni. To na tym etapie należy przygotować tabele (zazwyczaj tabele tworzone są na hurtowniach), które będą zbierać i przechowywać interesujące nas dane.Bardzo ważne jest też przygotowanie odpowiednich importerów danych oraz właściwe zaprojektowanie i zaimplementowanie rozwiązań bazodanowych.Zakres prac, koszty oraz kompetencje osób zaangażowanych w przygotowanie danych są takie same, bez względu na wybraną technologię prezentacji raportów.

Przygotowanie świata obiektów

Mając już zdefiniowane i zaimplementowane środowisko bazodanowe, w kolejnym kroku należy zdefiniować świat obiektów, czyli przygotować dane, z których będą generowane raporty końcowe. W przypadku Bussines Objects sprawa jest dużo prostsza, niż w przypadku VBA. W BO za pomocą Designera przygotowywane są agregaty, miary i filtry, odbywa się to w trybie okienkowym, wybierając odpowiednie zakładki lub przyciski, wyświetlają się okienka, w których definiowane są poszczególne elementy świata obiektów. Na tym etapie wymagana jest podstawowa znajomość SQL’a, dzięki której definiowane są formaty i zakresy danych w raportach. Potrzebna jest również znajomość zasad budowania świata obiektów. Bardzo istotne jest odpowiednie naniesienie relacji między tabelami oraz zdefiniowanie kontekstów analizy (powiązań między tabelami wykorzystywanymi w raportach). Użytkownik, może jednak liczyć w tym zakresie na wsparcie narzędzia. Designer  podpowiada rodzaje złączeń między tabelami, rodzaje relacji oraz konteksty analizy . W przypadku Excela etap ten wymaga zaangażowania programisty o poszerzonej wiedzy z zakresu SQL i PL/SQL. Niezbędne jest przygotowanie, odpowiednich pakietów, procedur, które przygotują dane, tak aby VBA był wstanie je obsłużyć, a to wymusza również udział w tym procesie osoby znającej ten język programowania. I tu już widać pierwsze zalety BO. Czas realizacji tego etapu jest dużo krótszy, niż w przypadku zastosowania rozwiązania opartego o VBA, a osoba zaangażowana w projekt oparty o Bussines Objects nie musi mieć tak dużych kwalifikacji jak w przypadku VBA.

Przygotowanie raportów

Trzeci etap, ostatni przed udostępnieniem raportów użytkownikowi końcowemu, to przygotowanie raportów czyli wizualizacja danych. I tu przewaga Bussines Objects nad Excelem jest ogromna. Projekt oparty na VBA wymaga zaangażowania osoby, która oprócz kompetencji analitycznych posiada również kompetencje programistyczne w zakresie VBA. Przygotowanie raportów to głównie programowanie, definiujące zakres wykorzystanych danych, formatki, tworzące wygląd raportu oraz wiele innych prac, które wykonać może tylko programista. W BO sprawa jest dużo prostsza: Web  Intelligence to środowisko dostępne przez WWW, w którym przeciągając dane odzwierciedlone w świecie obiektów tworzymy taki raport jaki chcemy. Wizualizacja to również przeciąganie i upuszczanie elementów (tabele, wykresy) na raporcie lub zmienianie wartości (np. kolorów, wymiarów elementów) w okienkach. Ten etap prac nie wymaga żadnych kompetencji programistycznych, a jedynie zdolności analitycznych i zmysłu prezentacji danych, dlatego w niektórych projektach za przygotowanie raportów nie odpowiada już programista, a analityk po stronie zlecającego. Dzięki przekazaniu przygotowania raportów zlecającemu możliwe jest szybsze dostosowanie i tworzenie nowych raportów, dzięki czemu czas oczekiwania użytkownika końcowego na właściwą informację jest dużo krótszy. Na takie rozwiązanie zdecydował się OnetLajt, dzięki czemu w każdej chwili pracownicy tego działu mogą przygotować aktualny raport o dowolnym układzie i dowolnym zakresie zbieranych danych o mobilnych użytkownikach Onetu.

Poniżej są dwa zrzuty ekranu z Web Intelligence. Jeden przedstawia narzędzie edytujące zapytanie do raportu, gdzie wybierane jest co chcemy zaprezentować na raporcie i przy jakich warunkach ograniczających, a drugi to zrzut zakładki formatowania raportu końcowego czyli wizualizacji danych.

Rys. 1: Okno przygotowania zapytania raportu


Rys. 2: Wizualizacja danych

Większość prac wykonywana na tym etapie to przeciągnij (z lewej strony) i upuść ( na prawej stronie). Można również korzystać z dodatkowych funkcji w celu obróbki danych, zasady korzystania z nich są identyczne do tych jakie są w Excelu, także zakres i ilość tych funkcji jest równie imponujący co w Excelu.

Gotowe raporty zapisywane są w odpowiednich katalogach, dzięki czemu dostęp do nich mają ostateczni użytkownicy.

Przeglądanie raportów

Ten etap to przeglądanie raportów przez użytkownika końcowego. W Excelu użytkownik dostawał przygotowany już raport lub musiał go sobie wygenerować. Generowanie takiego raportu nieraz potrafi być bardzo długotrwałe, o ile czas pobrania danych jest taki sam dla obydwu rozwiązań to niestety czas formatowania wyglądu raportu w VBA zajmuje dużo więcej czasu. Business Objects daje też dużo szersze możliwości: każdy użytkownik mający dostęp do danego świata obiektów może w każdej chwili wejść na zdefiniowany raport i go wyświetlić, dodatkowo możliwe jest zdefiniowanie zdarzeń wysyłania raportów. Oznacza to, że nie trzeba nikogo prosić, nikt nie musi pamiętać o tym żeby wysłać raport. BO sam wyśle taki raport do użytkownika końcowego zgodnie ze zdefiniowanym wcześniej harmonogramem i co najważniejsze, format raportu może być zgodny z WI lub może zostać wysłany w Excelu lub PDF. Co ważne w BO możliwe jest łatwe zarządzanie dostępami do raportów. Można zdefiniować dostępy do odpowiednich folderów dla odpowiednich grup użytkowników. Dostępy do folderów są kaskadowe. Ogromną zaletą jest również zarządzanie dostępem do jednego konkretnego raportu tak, aby w zależności od dostępu nadanego użytkownikowi, widział on tylko te dane z raportu, które są dla niego dedykowane.

Zalety BO

Niekwestionowaną zaletą są wspomniane wcześniej: obniżenie kosztów, skrócenie czasu realizacji projektu oraz możliwość szybszego reagowania na zmiany. Dodatkowo BO rozwiązuje problem wersjonowania narzędzi i ogólnodostępności, skraca czas obsługi istniejących już raportów. Raporty oparte o Excel i VBA są dedykowane konkretnemu użytkownikowi lub grupie użytkowników, którzy zazwyczaj nie współdzielą pliku, tylko przechowują go lokalnie. Niejednokrotnie wersje tych narzędzi są nieaktualne, a co za tym idzie raporty mogą być niespójne. Business Objects w bardzo prosty sposób rozwiązuje ten problem. W jednym miejscu dostępnym przez WWW udostępnione są wszystkie aktualne raporty, do których dostęp mają tylko osoby uprawnione. Nie ma więc możliwości, że kilku użytkowników widzi w tym samym narzędziu różne dane. W BO dużo łatwiej jest zapanować nad dużą ilością raportów. Tworząc je w Excelu bardzo często tworzy się kilka arkuszy, które prezentują dane dotyczące jednej grupy tematycznej np. raporty produkcyjno-zarządcze. Mamy tu kilka arkuszy, które korzystają z tego samego źródła danych, korzysta z nich konkretna grupa użytkowników. Każdy członek grupy ma lokalnie swoje wersje tych plików, nie zawsze są one jednak aktualne. Zmiany w tych plikach wymagają wysyłania kolejnych wersji wszystkich użytkownikom. Gdyby przenieść te raporty na Business Objects, to zostanie stworzony jeden świat obiektów, jeden katalog główny w Web Intelligence, gdzie znajdować się będą wszystkie aktualne raporty, każdy użytkownik będzie miał dostęp do tych samych danych. W razie potrzeby katalog główny można podzielić na podkatalogi, odzwierciedlające aktualne potrzeby grupowania raportów. Dodatkowo sam raport może składać się z wielu zakładek, przy czym nawigacja po nich jest dużo prostsza, bardziej przejrzysta niż w Excelu.

Część z raportów produkcyjnych jest generowana co tydzień i rozsyłana do kolejnych użytkowników. Wymaga to cotygodniowego zaangażowania pracowników w wysyłanie maili, a często i w końcową obróbkę raportów. W Web Intelligence to automat będzie je wysyłał. Wystarczy tylko raz zdefiniować jakie raporty, w jakim formacie (np. Excel, PDF), kiedy i do kogo mają być rozsyłane.

Wady BO

Business Objects ma też kilka wad. Web Intelligence nie ma tak szerokiego wachlarza narzędzi do prezentacji danych jak Excel, choćby mniejsza liczba wykresów i mniej opcji wizualizacji danych na tych wykresach. Oznacza to, że do bardzo rozbudowanych analiz to narzędzie nie za bardzo się nadaje. Jednak do raportowania zarządczego zakres prezentacji danych jest wystarczający. BO nie jest też rozwiązaniem tanim, wymaga wygospodarowania środków finansowych dużo większych, niż w przypadku Excela. Jednak w dużych firmach, przy dużej ilości danych na pewno jest narzędziem w które warto zainwestować. Excel natomiast na pewno dużo lepiej sprawdzi się w małych firmach, gdzie użytkowników raportów jest mniej, oraz ilość przetwarzanych danych jest mniejsza.

Co zyskał Dreamlab i Onet?

Przede wszystkim dużo szybciej prowadzone są prace I i II etapu projektu, dzięki czemu programiści mogą zrealizować dużo więcej projektów w tym samym czasie. Nie potrzebna jest już ingerencja programistów w etap III i IV, więc zwalniają się zasoby produkcyjne w firmie na rzecz innych projektów, a zleceniodawca jest dużo bardziej elastyczny (nie jest skazany na oczekiwanie kiedy zasoby produkcyjne będą dostępne). Udało się rozwiązać problem wersjonowania narzędzi, a co za tym idzie spójności danych i raportów. Wyeliminowaliśmy również konieczność instalowania dodatkowych narzędzie do obsługi raportów. Przygotowanie raportów, ich rozwój i utrzymanie stało się dużo prostsze i mniej kosztowne.

Joanna Pluta
młodszy programista