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
- Przewidzenie z góry wszystkich możliwych kombinacji wartości wymiaru
- Zastosowanie tabeli mostkowej
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.



