HYPERION - Marek Lewandowski
Transkrypt
HYPERION - Marek Lewandowski
Analiza danych w modelu wielowymiarowym HYPERION ESSBASE sprawozdanie z laboratorium Aktywne Bazy Danych 10.01.2006 Paweł Kędziora Maciej Krysiuk Marek Lewandowski 1 Wprowadzenie Hyperion Essbase to system wielowymiarowej bazy danych przeznaczony do tworzenia analitycznych aplikacji biznesowych. Jego struktura i funkcjonalność zostały zaprojektowane tak, aby w prosty sposób wspierać: • planowanie przedsięwzięć finansowych • tworzenie zestawień i raportów • analizę zachowań rynku Essbase umożliwia wielu użytkownikom współdzielenie tych samych danych, dostęp do nich, ich edycję oraz analizę na dowolnym poziomie szczegółowości. Wszystko to możliwe jest bez konieczności poznawania nowych narzędzi, języków programowania i umiejętności programistycznych. Składniki oprogramowania Hyperion Essbase to kilka współdziałających pakietów. Komunikując się jako osobne warstwy systemu pozwalają w logiczny sposób oddzielić poszczególne funkcjonalności. Rodzina produktów Hyperion Essbase wygląda następująco. Hyperion Essbase OLAP Server Wielowymiarowa baza danych przechowująca dane posiadające dowolną liczbę wymiarów, takich jak np. czas, produkt, region, finanse. Wykonuje wszystkie obliczenia na danych, przechowuje ich schemat oraz wartości. Hyperion Essbase Application Manager Graficzne środowisko do tworzenia i utrzymywania aplikacji Hyperion Essbase. Pozwala na modelowanie schematu bazy danych, w tym tworzenia wymiarów i ich składników. Umożliwia także ładowanie danych i konfigurację dostępu do nich. Hyperion Essbase Spreadsheet Add-in Okienkowa aplikacja służąca do prezentowania danych przechowywanych na serwerze. Jest płynnie zintegrowana ze środowiskiem arkuszy Microsoft Excel i Lotus 1-2-3. Hyperion Essbase Application Tools Zbiór narzędzi rozszerzających aplikacje Hyperion Essbase. Hyperion Essbase Spreadsheet Toolkit Zestaw makr orz funkcji Visual Basic for Applications, pozwalających automatyzację pracy z arkuszami danych. Ich funkcjonalność pokrywa wszystkie polecenia dostępne w menu arkuszy kalkulacyjnych. 2 Essbase Partitioning Option Umożliwia definiowanie obszarów danych współdzielonych przez różne modele danych. Pozwala na poprawienie efektywności i skalowalności aplikacji. Essbase SQL Interface Dzięki temu pakietowi mamy dostęp do relacyjnych baz danych. Możemy w łatwy sposób przenieść dane z obcych źródeł do serwera OLAP Essbase, który następnie umożliwi ich analizę klientowi Excela. Hyperion Essbase API Pozwala programistom na prosty dostęp do olbrzymich możliwości Hyperion Essbase. Dzięki temu interfejsowi dowolna aplikacja napisana w języku C lub Visual Basic może być wzbogacona o funkcjonalność zoptymalizowanych operacji analizy danych przechowywanych przez serwer Essbase. Essbase Currency Conversion Narzędzie przeznaczone to konwersji walut. Umożliwia łatwa analizę tych samych danych finansowych uniezależniając się od waluty żądanej przez klienta. Essbase Integration Services Stanowi pomost pomiędzy relacyjnymi bazami danych a serwerem Essbase. Umożliwia przeglądanie w arkuszu danych pochodzących z relacyjnego modelu danych. Hyperion Objects Zbiór kontrolek ActiveX służących do szybkiego pisania prostych aplikacji działających na danych przechowywanych przez serwer Essbase. Wielowymiarowość danych w HE Wielowymiarowa baza danych Essbase przechowuje i zarządza danymi. Jest zoptymalizowana tak, aby przechowywać olbrzymie ilości danych numerycznych, a także by obsługiwać żądania klientów wymagające dużego nakładu obliczeniowego. Dodatkowo, baza danych zarządza danymi tak, aby odzwierciedlić sposób, w jakim użytkownik chce je zobaczyć. Aplikacje Essbase mogą określać dowolną liczbę wymiarów. Schemat bazy danych Essbase składa się z następujących elementów: • wymiary – najważniejszy element schematu bazy danych, podstawa do analizy danych, definicja jednego z wielu różnych spojrzeń na składowane dane • składniki wymiaru – każdy wymiar może posiadać dowolną ilość składników, a każdy składnik dowolną liczbę podskładników itp.; taka hierarchia umożliwia na kontrolę szczegółowości prezentowanych danych względem określonego wymiaru • atrybuty – określają cechy przechowywanych danych, takie jak np. rozmiar czy kolor produktów; każdy atrybut musi być przypisany do określonego składnika wymiaru; poszczególne składniki wymiarów na tym samym poziomie hierarchii mogą być rozróżniane właśnie na podstawie przypisanych im atrybutów 3 • formuły – z każdym składnikiem wymiaru może być związany z jedną lub więcej formułami; podobnie jak atrybuty pozwalają one zdefiniować dany składnik • aliasy – umożliwiają równoległe nazewnictwo elementów schematu bazy danych • konsolidacje – są zdefiniowane poprzez poszczególne gałęzie drzewa schematu bazy danych; przemieszczanie się po ścieżce konsolidacji umożliwia sterowanie szczegółowością prezentowanych danych względem określonego wymiaru Rysunek 1. Przykładowy schemat bazy danych Essbase Poszczególne jednostki danych, przechowywanych przez Essbase, identyfikowane są poprzez wybranie konkretnego składnika z każdego wymiaru. 4 Tabela 1 Przykład Przykład przechowywanej danej Time Qtr1 Measures Accounts Product 300 Market East Scenario Actual DANA 3456.00 5 Instalacja systemu Analiza wielowymiarowego następujących składników: modelu danych HYPERION wymaga zainstalowania 1. Essbase Administration Services Release 7.1 2. Essbase Analytic Services 7.1 3. Essbase Deployment Services 7.1 Bardzo pomocne w pracy z systemem HYPERION jest dokumentacja techniczna, dostarczana przez producenta wraz z produktem. Stworzona została ona w formie podręcznika użytkownika, w którym krok po kroku opisane są wszystkie działania, które są niezbędne podczas tworzenia aplikacji i administrowania nią. 6 Uruchomienie systemu W celu rozpoczęcia pracy z systemem należy wykonać następujące kroki: 1. Uruchomienie serwera bazy danych: System poprosi o nazwę użytkownika i hasło podane podczas instalacji. Rysunek 2. Uruchomienie serwera bazy danych 2. Uruchomienie serwera klienta: Rysunek 3. Uruchomienie serwera klienta Jeśli serwer klienta działa poprawnie, użytkownik powinien na ekranie uzyskać poniższą konsolę: Rysunek 4. Widok okna konsoli poprawnie działającego serwera klienta 3. Uruchomienie konsoli administracyjnej: Rysunek 5. Uruchomienie konsoli administracyjnej Podczas uruchamiania konsoli administracyjnej użytkownik zostanie poproszony o podanie domyślnej nazwy użytkownika i hasła. hasła Wartości te, ustawione domyślnie podczas instalacji systemu to: admin i password. password 7 Jako nazwę serwera należy podać nazwę komputera, na którym zainstalowany jest serwer. Rysunek 6. Widok okna logowania konsoli administracyjnej 8 Użytkowanie systemu. Utworzenie serwera Analytic Server Aby utworzyć serwer Analytic Server, należy wybrać z menu kontekstowego elementu Essbase Analytic Servers w konsoli administarcyjnej Administration Console opcję Add Analytic Analytic Server: Rysunek 7. Tworzenie Analytic Server a następnie podać dane wymagane przez system w celu utworzenia Analytic Server: Rysunek 8. Tworzenie Analytic Server – podanie wymaganych danych Nazwa serwera musi być nazwą sieciową komputera, na którym serwer jest instalowany. 9 Tworzenie aplikacji. Aplikacją w systemie HYPERION jest struktura składająca się z jednej lub więcej baz danych i związanych z nimi plików. Aby utworzyć nową aplikację, należy wybrać z menu kontekstowego elementu Applications opcję Create Application: Application Rysunek 9. Tworzenie nowej aplikacji Użytkownik zostanie poproszony o podanie nazwy aplikacji, oraz serwera, na którym dana aplikacja ma zostać utworzona. Rysunek 10. Tworzenie nowej aplikacji cz. 2 10 Tworzenie bazy danych. W nowo utworzonej aplikacji możemy tworzyć bazy danych. danych Nową bazę danych tworzy się poprzez wybór z menu kontekstowego elementu Databases opcji Create Database: Rysunek 11. Tworzenie nowej bazy danych. Podczas procesu tworzenia nowej bazy danych użytkownik zostanie poproszony o podanie nazwy i typu bazy danych. Typ Currency oznacza stworzenie bazy danych, która zawierać będzie musiała trzy obowiązkowe wymiary typu: time, country, accounts oraz, opcjonalnie, wymiar typu currency. Wybór opcji Normal nie narzuca żadnych ograniczeń dla późniejszej definicji wymiarów. Rysunek 12. Tworzenie nowej bazy danych, cz.2 11 Opcje bazy danych. Nowo utworzona baza danych udostępnia szereg opcji: Rysunek 13. Opcje bazy danych. Properties - zbiór właściwości bazy danych, m.in. opcji uruchamiania, wielkości buforów, cache, statystyki. Outline – sposób przedstawienia użytkownikowi struktury wymiarów w bazie danych. Location Aliases – definicja aliasów do innych baz danych. Linked Reporting Objects - zarządzenie poszczególnymi komórkami bazy danych. zbiorem obiektów powiązanych z Triggers – definiowanie wyzwalaczy. Calculation scripts – definiowanie skryptów kalkulacyjnych. Report scripts – definiowanie skryptów raportów. Rule Files – definiowanie plików reguł. Partitions – tworzenie partycji. Outline Outline jest swego rodzaju interfejsem bazy danych. Za jego pomocą możliwe jest tworzenie nowych wymiarów oraz zarządzanie nimi. Aby stworzyć nowy wymiar należy wyświetlić strukturę outline w trybie edycji. W tym celu należy z menu kontekstowego elementu Outline wybrać opcję Edit. Dodanie nowych wymiarów (czy to potomków – add child, child czy też rodzeństwa – add sibiling) sibiling umożliwia wybranie odpowiedniej opcji z menu kontekstowego dla 12 odpowiedniego wymiaru (lub też dla elementu – bazy danych, jeśli chcemy dodać potomka z najstarszej generacji): Rysunek 14. Tworzenie wymiaru – potomka. Po stworzeniu wymiaru można wyświetlić (w celu przejrzenia, bądź modyfikacji) właściwości wymiaru. W tym celu należy wybrać z menu kontekstowego odpowiedniego wymiaru opcję Edit member properties: Rysunek 15. Widok okna własności wymiaru. 13 Właściwości wymiaru obejmują m.in. typ wymiaru (dimenstion dimenstion type). type Standardowe typy wymiarów to: - none – brak typu - accounts – typ liczbowy („księgowy” – np. do przechowywania wielkości sprzedaży) - time – typ czasowy (w jednej strukturze wymiarów może znajdować się tylko jeden typ typu czasowego) - country – typ określający kraj - currency partition – typ przechowujący dane „walutowe” (dzięki niemu możliwe jest automatyczne przeliczanie walut) - attribute – wymiar atrybutowy Location Aliases Location Alias jest aliasem do innej bazy danych. Składa się on z następujących elementów: nazwa aliasu, nazwa Analytic Server, nazwa aplikacji, nazwa bazy danych, nazwa użytkownika, hasło użytkownika. Dzięki zdefiniowanemu aliasowi można w prostszy sposób (bez podawania wszystkich niezbędnych członów) odwoływać się do innej bazy danych. Rysunek 16. Tworzenie aliasu do bazy danych Basic znajdującej się w aplikacji Demo. Do bazy Basic logować się będzie użytkownik marek za pomocą podanego hasła. Linked Reporting Objects. Obiekty powiązane z komórkami bazy danych to m.in.: notatki tekstowe, adresu URL, pliki, linki do innych baz danych. Z poziomu konsoli administracyjnej możliwe jest przeglądanie, importowanie, edytowanie oraz usuwanie obiektów typu LRO. LRO Triggers Konsola administracyjna umożliwia przeglądanie utworzonych oraz definiowanie nowych procedur wyzwalanych. 14 Filters Filtry są mechanizmem służącym określeniu sposobu dostępu użytkowników do poszczególnych wymiarów. Nowy filtr tworzony jest za pomocą wyboru z menu kontekstowego elementu Filter opcji Create Filter: Rysunek 17. Nowy filtr. Podczas tworzenia filtru należy wskazać wymiar (lub członka wymiaru), na którym filtr ma być założony, oraz określić poziomu dostępu do atrybutu filtrowanego. Istnieją cztery poziomy dostępu: - None – poziom najbardziej restrykcyjny – użytkownik w ogóle nie ma dostępu do filtrowanego atrybutu. - Read – użytkownik może odczytywać dane - Write – użytkownik ma prawo zapisu danych - MetaRead – użytkownik ma nadane pełne prawa dostępu. Poziom ten nadawany powinien być tylko administratorom i osobom uprawnionym do wszelkiego typu modyfikacji bazy danych (nawet jej struktury). Rysunek 18. Nowy filtr o nazwie filter1 zakładany na wymiarze Year. 15 Aby przypisać nowo utworzony filtr do użytkownika, należy rozwinąć listę Filters i wybrać z menu kontekstowego odpowiedniego filtra opcję Assign: Rysunek 19. Skojarzenie filtru z użytkownikiem Po wykonaniu opcji assign należy wybrać z listy użytkowników tego, któremu przypisywany jest filtr. Calculation Scripts Opcja umożliwiająca definiowanie własnych skryptów przeliczających dane składowane w bazie danych. Z każdym członkiem dowolnego wymiaru związany jest atrybut Consolidation Consolidation. nsolidation Może on przyjmować wartości: Addition (+), Subtraction ((-), Multiplication (*), Division (/), Percent (%), Ignore(~). Atrybut ten określa sposób przeliczania danych przez standardowy schemat przeliczania zdefiniowany w systemie HYPERION. W ogólności przeliczanie według tego schematu polega na agregowaniu danych w ramach wymiaru, z uwzględnieniem atrybutu Consolidation. Consolidation Jeśli standardowy schemat kalkulacji nie jest wystarczający dla użytkownika, może on zdefiniować własny Calculation Script. Np.: standardowy schemat kalkulacji nie poradzi sobie z następującą sytuacją: „Jeśli obrót firmy przekroczy 1.000.000 PLN, wtedy premia dla członków zarządu stanowi pięciokrotność miesięcznej pensji; w przeciwnym przypadku, wysokość premii do dwukrotność miesięcznej pensji”. W celu uzyskania danych na temat premii wszystkich pracowników firmy, w zależności od obrotów firmy, należy zdefiniować własny skrypt kalkulacyjny. Report Scripts Opcja służąca do definiowania raportów generowanych do plików programu Microsoft Microsoft Excel. Excel Aby zdefiniować własny raport należy, używając odpowiednich tagów (określających strukturę szablonu, kolejność wierszy i kolumn), zdefiniować plik .xls i wypełnić go danymi. Innym sposobem generowania raportów jest wykorzystanie kreatora znajdującego się w opcji Essbase programu Microsoft Excel, Excel która tworzona jest podczas instalacji systemu HYPERION (więcej o raportach w dalszej części pracy). 16 Rules Files Opcja służąca definiowaniu plików reguł. Pliki reguł określają format plików wejściowych zawierających dane wczytywane do bazy danych, które jednocześnie tworzą strukturę wymiarów (więcej o plikach reguł i wczytywaniu danych w dalszej części pracy). Partitions Opcja umożliwiająca tworzenie partycji docelowych (Target Target Databases) Databases oraz przeglądanie i usuwanie partycji źródłowych (Source Source Databases). Databases Partycją docelową jest partycja innej bazy danych tej samej, lub innej, aplikacji, której umożliwiony został dostęp do danych przechowywanych w zdefiniowanych przez użytkownika obszarach aktualnej bazy danych. Przez partycję rozumiana jest definiowana przez użytkownika podkostka kostki wymiarów określonej bazy danych. 17 Importowanie danych w Hyperion Essbase. W systemie Hyperion Essbase import danych do bazy danych aplikacji możemy przeprowadzić z Konsoli Administracyjnej bądź wykorzystując aplikację konsolową CMDHYP. W naszym przypadku skorzystaliśmy z graficznego środowiska Administration Console. Obsługa importu danych jest bardzo intuicyjna. Rysunek 20. Dialog importu. Po przejściu do dialogu wczytywania danych wybieramy plik z danymi do importu. Rodzaje źródeł danych w HE. 1. Pliki płaskie: Poprawne formatowanie pliku danych jest następujące. Rysunek 21. Format pliku importu. 18 W pierwszym wierszu wymieniamy wszystkie wymiary jakie występują w zasilanej bazie danych. Następnie każdy kolejny rekord jest reprezentowany przez członka każdego wymiaru, gdzie na końcu listy występuje wartość danej kombinacji członków wymiarów. W przypadku braku reprezentanta jakiegokolwiek wymiaru importer generuje błąd ładowania danych. Należy pamiętać o tym, iż jakiekolwiek nazwy zawierające znaki nie alfanumeryczne powinny być umieszczone w cudzysłów. 2. Pliki MS Excel. Poprawne formatowanie plików excel odbywa sie na tych samych zasadach jak w przypadku plików płaskich. Separatorem jest natomiast kolejna komórka. Rysunek 21. Format pliku xls. Przykładowy sformatowany plik excela dla bazy danych zawierającej wymiary wylistowane w pierwszym wierszu. 3. Pliki eksportów Analytic Services Rysunek 22. Format pliku eksportu z systemu Analytic Services. Przykładowy plik eksportu w formacie MS excel. Dla plików eksportu domyślnym separatorem jest znak spacji a nie nowa komórka wiersza. 19 Hyperion Essbase SpreadSheet Add-in Plugin Hyperion Essbase dla MS Excel posiada szereg narzędzi do analizy danych, wśród których możemy wyróżnić Query Designer jako narzędzie do generowania raportów I analizowania danych przechowywanych na serwerze OLAP. Po podłączeniu do bazy danych wskazanej aplikacji uzyskujemy następujący dialog. Rysunek 23. Okno dialogowe programu Query Designer Dla poszczególnych arkuszy możemy zdefiniować odrębne zapytanie. Tworzenie zapytań w Query Designer. Do konstrukcji zapytań wykorzystujemy następując dialog. Dialog prezentuje poszczególne sekcje raportu, dzieląc go na trzy sekcje: 1. Page Dimensions – w tej sekcji umieszczamy wymiary według których nastąpi grupowanie w kolumnach. 2. Row Dimensions – umieszczamy wymiary według których nastąpi grupowanie w wierszach. 3. Column Dimensions – umieszczamy wymiar który będzie stanowił najbardziej zewnętrzny atrybut grupowania w wierszach. 20 Wybór członków wchodzących w skład danego wymiaru. Rysunek 24. Okno Okno dialogowe tworzenia zapytania. Wybierając dany wymiar możemy dokonać selekcji poszczególnych członków, które docelowo mają znaleźć się w raporcie. Można dokonać wyboru jednego lub więcej członków z wyjątkiem sekcji Page Dimensions, gdzie możemy wyselekcjonować tylko jednego członka wymiaru. Aby uzyskać większą liczbę członków należy dodać wymiar w całości, przez co w zestawieniu będziemy mogli skorzystać z opcji rozwijania wymiaru grupującego(„Zoom in”). Po ustaleniu układu raportu i wcześniejszym przeliczeniu wartości w celu stworzenia(odświeżenia) agregatów, możemy przystąpić do wykonania zapytania. Rezultat: Dla zapytania o następującym układzie : Rysunek 25. Okno dialogu rozkładu zapytania. 21 Otrzymaliśmy następujący wynik: Rysunek 26. Przykładowy raport. Wartości zagregowane. Wszystkie wymiary zostały dodane jako wartości zagregowane, co pozwala na użycie funkcji zoom in. Możemy rozwijać poszczególne wymiary dochodząc do coraz bardziej szczegółowych danych odpowiadających poszczególnym członkom. Rysunek 27. Przykładowy raport. Wartości rozwinięte(zoom in). Poza poszczególnymi członkami wymiaru jest także przedstawiana suma wszystkich członków danego wymiaru. Hyperion Visual Explorer jest narzędziem umożliwiającym analizy finansowe i budowanie Trendów, jednak nie jest dostępne w naszym pakiecie. 22 Polecenia konsoli języka MDX. Język mdx jest językiem manipulacji danymi Analytic Server. Aby korzystać z edytora poleceń połączonego z konsolą wyświetlającą rezultat zapytania należy skorzystać z edytora MaxL Script Editor: Editor Rysunek 27. Dostęp do konsoli. Ogólna składnia polecenia języka mdx ma postać: Select { set } on columns from database_name Innym, trochę rozszerzonym typem zapytania jest: Select { set } on columns, { set } on rows from database_name Gdzie przez set rozumiana jest krotka, lub zbiór krotek. Krotkę w tym przypadku można rozumieć jako członka, lub kombinację członków danych wymiarów. Nazwa członka może być zdefiniowana w następujący sposób: - poprzez wyspecyfikowanie nazwy bądź aliasu (np.: mleczna, lub [mleczna]) - poprzez poprzedzenie nazwy członka prefiksem wymiaru nadrzędnego (np.: product.mleczna, lub [product].[mleczna]) - aby zdefiniować zbiór członków, można posłużyć się predefiniowanymi funkcjami, takimi jak m.in.: children, ancestor, parent, firstchild, firstchild itp. (np.: [product].[children]); bądź też skorzystać z zakresów (np.: Jan:Dec) MDX udostępnia następujące operacje na zbiorach - crossjoin – zwraca przecięcie się dwóch zbiorów różnych wymiarów - distinct – eliminuje powtarzające się krotki z wyniku zapytania - except – zwraca podzbiór będący różnicą dwóch zbiorów - generate – funkcja iteracyjna. Dla każdej krotki ze zbioru set1 zwraca zbiór set2 - head – zwraca pierwszych n krotek danego zbioru - intersect – zwraca iloczyn dwóch zbiorów wejściowych - tail – zwraca n ostatnich krotek danego zbioru - union – zwraca sumę zbiorów 23 Przykłady zapytań i zwrócone przez bazę danych odpowiedzi: 24 25