Modelowanie wielowartościowych wymiarów (tzw. multivalued ...
Cycle_Modelowanie_Wielowymiarowe

Modelowanie wielowartościowych wymiarów (tzw. multivalued dimension)

Publikacja opisuje, co zrobić w sytuacji, gdy dla pojedynczego faktu, przy dobrze dobranym ziarnie, wymiar może przyjmować więcej niż jedną wartość.

Spis Treści

Opis problemu

Czasem, przy projektowaniu modelu wielowymiarowego, napotykamy na sytuację, gdy jesteśmy pewni, że ziarno zostało dobrze dobrane, a mimo to istnieje wymiar, który dla pojedynczego faktu może mieć więcej niż jedną logiczną wartość.

Przykłady takich sytuacji to:

  • Tabela faktów zawiera np. salda dla rachunków bankowych. Rachunek bankowy może być jednak własnością więcej niż jednego klienta (np. konto małżeńskie), a wymiarze Klient trzymane są pojedyncze osoby.
  • Tabela faktów zwiera diagnozy stawiane pacjentom. Jedna diagnoza może jednak mieć wiele różnych przyczyn.
  • W tabeli faktów trzymamy informacje o reklamacjach. Jedna reklamacja może się jednak wiązać więcej niż z jedną usterką.

Co zrobić w takiej sytuacji? Na pewno nie wolno nam ruszać ziarna! (Oczywiście jeżeli je dobrze dobraliśmy, zgodnie z najlepszymi praktykami). Możliwych rozwiązań jest kilka.

Przewidzenie z góry wszystkich możliwych kombinacji wartości wymiaru

Dla przykładu reklamacji i usterek, jeżeli możliwych usterek jest mało (np. ~10) i są one znane z góry, można stworzyć wymiar zawierający wszystkie możliwe kombinacje usterek. Będzie ich 2^n-1 (wszystkie możliwe podzbiory zbioru n-elementowego, poza zbiorem pustym, bo przynajmniej jedna usterka musi być przyczyną reklamacji). Oznacza to, że dla 10 wad tabela wymiaru będzie stosunkowo mała, jak na tabelę wymiaru (1023 wartości). Wpisy w tabeli wymiaru mogą mieć po 1 atrybucie (np. logicznym) dla każdej możliwej wady, co umożliwi filtrowanie zarówno po zestawie wad (pozycja w tabeli wymiaru), jak i po poszczególnych wadach. Schemat rozwiązania zobrazowano poniżej.

Gdy możliwych usterek jest więcej, ale wiemy że nie wszystkie możliwe kombinacje będą się pojawiać, możemy uzupełniać nowe pozycje w tabeli wymiaru, w miarę jak będą się pojawiać nowe kombinacje usterek.

Zastosowanie tabeli mostkowej

Gdy jest wiele usterek i wiele możliwych ich kombinacji (wiele, tzn. więcej niż wymiar w Hurtowni Danych jest w stanie znieść), powinno się zastosować inne rozwiązanie. Chodzi o wykorzystanie tabeli mostkowej - analogia do standardowego rozwiązania, jakie stosuje się do modelowania relacji wiele do wielu w relacyjnych bazach danych.

Tworzy się tabelę wymiaru przyczyn reklamacji, tabelę wymiaru usterek dla poszczególnych usterek, oraz tabelkę mostkową (tzw. bridge) łączącą tabelę wymiaru przyczyn reklamacji z tabelą usterek - będzie ona zawierała klucz grupy usterek (przyczyny reklamacji) i klucz konkretnej usterki, przyporządkowując w ten sposób usterki do konkretnej grupy usterek i grupę usterek do konkretnej reklamacji (tabeli faktów). Schemat rozwiązania zobrazowane poniżej.

Również można (a z reguły powinno się) tutaj zastosować strategię uzupełniania wymiaru przyczyn reklamacji w ramach pojawiania się nowych kombinacji usterek.

Opis rozwiązania opisanego problemu można znaleźć w "The Data Warehouse Toolkit" Ralpha Kimballa, strona 262.

Bibliografia:

Ralph Kimball, Margy Ross, The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling (Second Edition), Wiley 2002

Marcin Choiński

Author_Marcin_Choinski

Pasjonat wszystkiego co związane z Hurtowniami Danych oraz Business Intelligence. Posiada kilkuletnie doświadczenie w kierowaniu projektami BI i Data Mining oraz budowaniu produktów klasy DW/BI. Współwłaściciel i red. nacz. portalu BI.PL. Prywatnie entuzjasta biegania oraz zjeżdżania z góry na jednej desce.

Share |
Komentarze
Nie ma jeszcze żadnych komentarzy
Business Intelligence Portal | BI.PL