Co to są miary i wymiary w kostkach

21

Jestem bardzo nowy w Microsoft Sql Server Business Intelligence i Analysis Service(ale programuję od lat w SQL Server). Czy ktoś może opisać miary i wymiary w kostkach w prostych słowach (jeśli jest to możliwe w przypadku obrazów)?

dzięki

ariański
źródło

Odpowiedzi:

39

Pomyśl o procesie lub wydarzeniu , które chcesz przeanalizować.

Załóżmy, że tworzysz Lougle Analytics i chcesz analizować odwiedziny w witrynie (w przeciwieństwie do żądań pojedynczych stron). Odwiedzanie strony internetowej to proces.

Fakt tabela przedstawia proces lub zdarzenie, które chcesz analizować, w tym przypadku jest to lista wizyt. Możesz mieć tyle tabel faktów, ile chcesz, po jednej na proces lub zdarzenie.

Jakie rzeczy mogą Ci się przydać w analizie wizyt na stronie?

  • Informacje o przeglądarce internetowej (marka, rozdzielczość ekranu, ...)
  • Informacje o użytkowniku (kraj, stan, miasto, dostawca usług internetowych, na podstawie ich adresu IP)
  • Informacje o rozpoczęciu wizyty (rok, kwartał, miesiąc, tydzień, dzień)
  • Czas trwania wizyty
  • Strona odsyłająca, strona docelowa i strona wyjściowa (tytuł, ścieżka adresu URL)
  • Liczba stron odwiedzonych podczas wizyty

Technicznie rzecz biorąc, możesz umieścić to wszystko w jednej tabeli - tak jak w Excelu, ale to naprawdę bardzo szybko zyska, więc zrobimy JEDEN poziom normalizacji. Projektowanie wymiarowe to często „umieszczenie wszystkiego, czego potrzebujesz do analizy, w jednym dużym stole”, a następnie znormalizowanie jednego poziomu.

Twoja tabela faktów będzie wyglądać następująco:

web_browser_key          bigint
ip_address_key           bigint
start_date_key           int
referring_page_key       bigint
landing_page_key         bigint
exit_page_key            bigint
duration_seconds         int
number_of_pages_visited  int

Ma kilka kluczowych wartości, które odnoszą się do wartości w innych tabelach †, oraz dwa nie-klucze. Niekluczowe są wartościami numerycznymi i nazywa się Miary . Czy potrafisz wziąć średnią z nazwy marki przeglądarki internetowej? Nie, to jest wymiar. Czy możesz wziąć średni czas trwania wizyty? Tak, więc to miara.

Pozostałe tabele nazywane są tabelami wymiarów , a ip_addresstabela wymiarów może wyglądać następująco:

ip_address_key  bigserial primary key, /* use meaningless surrogate keys */
ip_address      inet unique,
country         text,
division        text,
locality        text,
latitude        numeric(8,6),
longitude       numeric(9,6)

Zauważ, że nie jest znormalizowany: kraj może pochodzić z miasta (miejscowości). Jednak w hurtowni danych zależy nam przede wszystkim na ułatwieniu analizy . Ułatwiając analizę, mam na myśli unikanie głębokich połączeń.

Zauważ, że niektóre dane w tabeli wymiarów są hierarchiczne : kraj> podział> miejscowość. Twój serwer OLAP (mam nadzieję) rozumie hierarchie w celu obsługi operacji drążenia w dół.

Logiczna kostka to tylko zbiór wymiarów i miar , z którymi pracujesz. W przeciwieństwie do kostki Rubika może mieć więcej niż 3 wymiary. Pomyśl o wymiarze jako kolumnie w swoim zestawie danych.

OLAP to zestaw operacji, które można wykonać na zestawie danych, takich jak obracanie, krojenie, krojenie w kostkę, wiercenie. Pomyśl o tabelach przestawnych programu Excel. OLAP Server ułatwia operacje OLAP.

† zwykle bez kluczy obcych

Neil McGuigan
źródło
Podobało mi się wyjaśnienie z przykładem, ale niewielka kwestia - cityw twoich schematach nie ma wzmianki , więc kiedy mówisz country could be derived from city, że nie jestem pewien , co masz na myśli.
Don Cheadle,
@mmcrae „locality” to ogólna nazwa miasta / miejscowości / wioski
Neil McGuigan,
13

Na obrazku poniżej, który jest przykładem podstawowego schematu gwiezdnego. Wymiary to Dim_Tables.

Są to na ogół wartości, według których chcesz analizować dane. Chcesz więc spojrzeć na sprzedaż określonego produktu w danym kraju w określonym przedziale czasowym.

W tabeli faktów-sprzedaży masz tylko jedną miarę, którą jest Units_Sold.

Miary (na najprostszym poziomie) to tylko rzeczy, które chcesz agregować podczas analizy na podstawie kryteriów w wymiarach.

Podstawowy schemat gwiezdny

Jeśli jest coś jeszcze bardziej szczegółowego, co chciałbyś wiedzieć, daj mi znać.

OCDan
źródło
Wygląda na to, że ten obraz pochodzi z Wikipedii: en.wikipedia.org/wiki/Star_schema . Powinieneś o tym wspomnieć.
Scarabee