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

Podobne dokumenty