Usługi analityczne – podstawy budowy kostki analitycznej, cz. II

Opublikowano: 23 stycznia 2007

Nasza definicja kostki analitycznie nie zawiera jeszcze danych. Aby zbudować kostkę funkcjonalnie działającą musimy, dokonać wygenerowania odpowiednich struktur danych, będącymi istotą mechanizmów analitycznych. Są to wszelkie agregacje związane z wymiarami naszej kostki. Proces ten pobiera dane i dokonuje budowy struktury bazy danych OLAP (ang. On-Line Analitical Processing). Charakterystyczną cechą tego typu struktur bazodanowych, jest ich zoptymalizowanie w zakresie odczytu danych. Budowę kostki możemy wymusić na kilka sposobów:

wybieramy opcję „Deploy Project…” z menu „Build”,

z menu kontekstowego na nazwie naszego projektu wybieramy opcję „Deploy”.

*
Zawartość strony
Zarządzanie kostką analitycznąZarządzanie kostką analityczną
Przeczytaj pozostałe części artykułuPrzeczytaj pozostałe części artykułu

Zarządzanie kostką analityczną

Wartości pomiarowe

W zależności od potrzeb, możemy teraz przystąpić do przeglądu i ewentualnie przebudowy kostki analitycznej. W zakładce „Cube Structure”, która jest domyślnie aktywna, możemy zmodyfikować ustawienia kostki. Możemy także prześledzić w jaki sposób została utworzona kostka przez kreator. Zgodnie z zasadami analizy, jako tabela faktów została wybrana tabela „FactFinance” zawierająca wartości obliczeniowe . Ponadto, ze względu na powiązania pomiędzy danymi, tabela „DimTime” zawierająca oś czasową, również została wybrana jako druga tabela faktów. Pozostałe tabele zostały ustalone jako tabele wymiarowe. Informacje te możemy prześledzić w części „Measures”.

Struktura wartości pomiarowych

Rys. 1. Struktura wartości pomiarowych.

Jak można również zauważyć, w wyniku pogrupowania danych według dni, miesięcy, kwartałów i lat, w kostce analitycznej zostały dokonane agregacje związane w/w okresami czasu. Bardzo elastyczna budowa struktur danych, pozwala w każdej chwili modyfikować wartości pomiarowe jak i dodawać kolejne.

Pasek narzędziowy budowy kostki analitycznej

Rys. 2. Pasek narzędziowy budowy kostki analitycznej.

Bardzo przydatna w zakresie definiowania wartości pomiarowych, jest możliwość przełączania widoków ze struktury hierarchicznej na strukturę tabelaryczną – „Grid”. Mamy tutaj możliwość zdefiniowania w szybki sposób określonych funkcji agregacyjnych oraz zdefiniować typy danych.

Tryb pracy „Grid”

Rys. 3. Tryb pracy „Grid”.

W naszym przykładzie dodamy dwie nowe wartości pomiarowe: wartość minimalną i maksymalną sprzedaży.
Kliknięcie prawym przyciskiem na danej kolumnie w tabeli, na bazie której zamierzamy utworzyć nową wartość pomiarową, i wybranie opcji „New measure from column”. Po utworzeniu nowej kolumny pomiarowej zmieniamy jej nazwę na „Maksimum” a następnie we właściwościach definiujemy z listy dostępnych funkcji „Max”. Podobnie postępujemy w przypadku kolumny „Minimum”. Oczywiście w/w operacje można również wykonywać wywołując opcje z menu czy też z paska narzędziowego.

Definicja nowych wartości pomiarowych

Rys. 4. Definicja nowych wartości pomiarowych.

W SQL2005 wprowadzono nowe mechanizmy wykorzystania wartości pomiarowych. Możliwe jest zdefiniowanie grup pomiarowych „Measure Group” i powiązanie ich z określonymi wymiarami w określony sposób, który zostanie przedstawiony poniżej.

Wymiary (Dimensions)

W części opisanej jako „Dimensions” możemy zweryfikować budowę wymiarów i przejść do ewentualnych modyfikacji tychże wymiarów. W usługach analitycznych SQL2005 wprowadzono znaczne modyfikacje w stosunku do poprzednich wersji w zakresie organizacji wymiarów. Przede wszystkim wymiary nie są oparte tylko i wyłącznie na strukturze hierarchicznej ale także na atrybutach wymiarów takich jak np. kolor, rozmiar czy też typ odbiorcy. W takim razie nie jest już wymagane jawne tworzenie atrybutów i na ich podstawie definiowanie kolejnych wymiarów.

Struktura wymiarów i atrybutów

Rys. 5. Struktura wymiarów i atrybutów.

Powiązanie wymiarów z wartościami pomiarowymi możemy określić w zakładce „Dimension”. W SQL2005 wprowadzono bardzo elastyczne techniki odwzorowania wartości pomiarowych w wymiarach. Możemy zdefiniować tutaj następujące ich typy:

1.

Brak powiązania – tabela wymiarów nie jest powiązana z tabelą faktów.

2.

Regularny – tabela wymiarowa jest bezpośrednio powiązana z tabelą faktów.

Typ: Regularny

Rys. 6. Typ: Regularny.

3.

Tabela fakt – wymiar jest elementem tabeli fakt.

Typ: Tabela fakt

Rys. 7. Typ: Tabela fakt.

4.

Odniesienie – tabela wymiarowa jest powiązana z tabelą pośrednią, która następnie jest powiązana z tabelą faktów.

Typ: Odniesienie

Rys. 8. Typ: Odniesienie.

5.

Wiele-do-wielu – tabela wymiarowa jest powiązana z pośrednią tabelą faktów, która jest powiązana z tabelą wymiarową, która z kolei jest powiązana z wyjściową tabelą faktów.

Typ: Wiele-do-wielu

Rys. 9. Typ: Wiele-do-wielu.

6.

Data mining – powiązanie tabeli wymiarowej opartej o model data mining (projekt musi być zawarty w kostce) z tabelą faktów.

Typ: Data mining

Rys. 10. Typ: Data mining.

W przypadku, gdy kreator nie zdefiniowałby wymaganych wymiarów bądź grup pomiarowych, w tej zakładce możemy zdefiniować nowy wymiar oraz powiązać go z tabelą faktów.

Oczywiście kreator nie zawsze zdefiniuje wszystkie niezbędne hierarchie w danym wymiarze. Dodajmy, w naszym projekcie hierarchię opartą o wymiar czasu zawierającą lata kalendarzowe, kwartały oraz miesiące. Procedurę rozpoczniemy od wywołania edytora wymiaru „Dim time”, klikając na odpowiedni link w wymiarze.

Tworzenie własnej hierarchii

Rys. 11. Tworzenie własnej hierarchii.

Tworząc hierarchię mamy możliwość definiowania własnej nazwy zarówno hierarchii jak i każdego jej poziomu. Ponadto, w przypadku, gdy poszczególne poziomy nie są w pełni symetryczne, definiujemy, jak mają być one wyświetlane np. pomijanie powielających się elementów.
W tym miejscu mamy też możliwość usunięcia niepotrzebnych hierarchii.

Wartości obliczeniowe (Calculations)

Domyślne procesy analizy zbiorów danych przez kreatora, zakładają realizacje obliczeń, jedynie w zakresie ich podsumowania. W przypadku bardziej skomplikowanych mechanizmów obliczeniowych staje się konieczne zdefiniowanie swoich własnych metod obliczeniowych. Usługi analityczne udostępniają bardzo przejrzysty interfejs, umożliwiający zbudowanie dowolnych wyrażeń obliczeniowych.

W naszym projekcie postaramy się zdefiniować, mechanizm wyliczenia różnicy pomiędzy wartością sprzedaży minimum a maksimum (rozstępy), wartość średnią oraz odchylenie standardowe populacji (średnie odchylenie od średniej).

W tym celu przełączamy się na zakładkę „calculations” i z paska menu wybieramy opcję „add calculate member”. Następnie definiujemy mechanizmy obliczeniowe. Bardzo przydatne w tym celu jest okno „Calculation tools”, w którym są dostępne wszystkie elementy naszej kostki analitycznej – wymiary oraz wartości obliczeniowe. Ponadto, w zakładce „Functions”, są pogrupowane wszystkie dostępne funkcje w usługach analitycznych. Natomiast zakładka „template” zawiera przygotowane szablony mechanizmów obliczeniowych. Wykorzystanie tych informacji polega na przeniesieniu, przy pomocy myszki, określonej wartości lub funkcji na pole obliczeniowe.

Tworzenie własnych elementów obliczeniowych

Rys. 12. Tworzenie własnych elementów obliczeniowych.

Po zdefiniowaniu mechanizmów obliczeniowych musimy również określić w jakim kontekście będą zdefiniowane obliczenia. Służą do tego opcje „Parent hierarchy” oraz „Parent member”. W naszym przypadku wartość obliczeniowa jest związana ze wszystkimi wartościami pomiarowymi. Ponieważ, wartości te nie mają struktury hierarchicznej, pole „Parent member” jest niedostępne.

Ponadto, w opcji „Additional Properties”, możemy zdefiniować atrybuty fontów, tła oraz formatowanie wyświetlanego ciągu znaków – w naszym wypadku wartości liczbowej.

Wartości obliczeniowe możemy zdefiniować następująco:

„rozstępy” – [Measures].[Maximum]-[Measures].[Minimum]

“średnia” – AVG([Measures].[Amount])

“odchylenie standardowe – STDDEVP([Measures].[Amount])

Dla wartości obliczeniowej „rozstępy” oraz „średnia” możemy zdefiniować format walutowy a dla „odchylenia standardowego” zdefiniujemy format standard.

Wskaźniki wydajności (key performance indicator)

W SQL2005 wprowadzono nowe mechanizmy sygnalizujące przekroczenie określonych wskaźników – wskaźników wydajności. Pojęcie to ma szersze znaczenie i oznacza możliwość zdefiniowania funkcji celu oraz trendu. KPI pozwalają w każdej chwili określić, czy badana wartość spełnia nasze oczekiwania oraz jak kształtuje się tendencja jej zmian. W naszym projekcie zdefiniujemy KPI sprawdzający, czy wartość sprzedaży jest większa niż jej wartość średnia. Oczywiście w tym celu wykorzystamy wcześniej zdefiniowaną wartość obliczeniową – „średnia”. Dla tego wskaźnika zdefiniujemy „value expressions” oraz „status expressions” w następujący sposób:

„value expressions” – [Measures].[Amount]-[Measures].[srednia]

“status expressions” – [Measures].[Amount]-[Measures].[srednia]>0

A jako “status indicator” wykorzystamy ikonę „faces”.

KPI nie jest prezentowany w standardowej przeglądarce kostki analitycznej (omówionej w dalszej części). W pierwszym etapie należy uzupełnić kostkę analityczną o zdefiniowane elementy. W tym celu wykorzystamy opcję „process” – ikonę znajdującą się na pasku narzędziowym. Indykator możemy podejrzeć przełączając się od razu na widok KPI – ikona na pasku narzędziowym: „browser view”.

Przykładowy podgląd KPI

Rys. 13. Przykładowy podgląd KPI.

Akcje (Actions)

Kostka analityczna może być również uzupełniona o możliwość przypisania różnych rodzajów akcji w określonych wymiarach. Akcje mogą obejmować różne zadania: tworzenia łączy do zasobów Internetu, mechanizmów drążenia danych czy też realizacji raportów. Zadania możemy definiować dla określonych elementów: poczynając od całej kostki, danego wymiaru, hierarchii a kończąc na pojedynczej komórce. Ponadto, można również zdefiniować określone kryteria związane z wywołaniem danej akcji.

Do początku stronyDo początku strony

Przeczytaj pozostałe części artykułu

Usługi analityczne – podstawy budowy kostki analitycznej, cz. I

Usługi analityczne – podstawy budowy kostki analitycznej, cz. III


Tomasz Skurniak

Tomasz Skurniak
Doświadczony projektant systemów informatycznych opartych o technologię Microsoft, Active Directory, rozwiązania pracy grupowej oraz infrastrukturę PKI. Prowadzi projekty oraz szkolenia związane z mechanizmami analizy danych opartych o hurtownie danych. Przygotowuje wdrożenia związane z mechanizmami
data mining, w systemach biznesowych. Od ponad 10 lat prowadzi szkolenia z zaawansowanych technologii informatycznych. Obecnie zajmuje się głównie technologiami baz danych i ich optymalizacji.


Do początku stronyDo początku strony