Zastanawiasz się może po co budować modele danych?
Niezależnie od tego czy pracujesz z „mniejszym”, czy też większym wolumenem danych, modelowanie będzie potrzebne, ponieważ na końcu Twoje dane mają być konsumowane przez Użytkowników Biznesowych.
Najprościej mówiąc, dzięki modelowaniu rozumienie i konsumpcja danych są po prostu lepsze, bardziej przystępne.
Relacyjne modele danych #
Ty, pracując z danymi na początku swojej drogi spotkasz się zapewne z modelem relacyjnym. Pozwól, że opiszę co nieco w taki bardziej przystępny, niematematyczny sposób.
Relacyjny model danych opiera się o relacje, czyli tak naprawdę tabele. Koncept tabeli na pewno kojarzysz, począwszy od Excela, przez różne systemy bazodanowe, z którymi być może miałeś okazję już pracować.
W ramach tabeli mamy wiersze i atrybuty. W danej tabeli mamy klucz główny (Primary Key) i klucz obcy (Foreign Key).
Klucz główny jest unikatowy w ramach danej tabeli i jednoznacznie identyfikuje dany rekord (wiersz). Wiersz to byt/ wystąpienie, a kolumny, to jego atrybuty. Czyli np. Klient (tabela), które opisują: imię, nazwisko, miasto itp. Kolumny w tabeli mają określony typ danych czyli np. liczbowy, tekstowy, datowy.
Między tabelami definiujemy relacje, czyli opisujemy w jaki sposób łączą się nasze dane.
Model danych w świecie PBI #
Zejdźmy teraz troszkę do świata Power BI, w którym również budujemy modele danych.
Modelowanie danych, to aspekt ważny, nad którym warto się pochylić i poświęcić mu odpowiednią ilość czasu i uwagi. Dobry model przekłada się na prostotę miar DAX’owych, których będziemy używać do tworzenia kalkulacji na naszych danych. Poza tym dobrze zaprojektowany model będzie działał szybko, wydajnie i przede wszystkim będzie zrozumiały dla Użytkowników.
W świecie Power BI, najbardziej optymalnie sprawdza się tzw. Model gwiazdy. (ang. Star Schema)
„Na środku” mamy tabelę faktową, która zawiera nasze „liczby”. Czyli np. ilość sprzedanych sztuk, wartość sprzedanych towarów itp. W tabeli faktów znajdą się również klucze łączące te dane z naszymi tabelami wymiarów.
Wymiary to z kolei obiekty, które zawierają informacje deskrypcyjne. Przykłady tabel wymiarów to np. Data, Klient, Produkt.
Przykład naszego wymiaru Klienta może wyglądać to. Oczywiście jest to bardzo uproszczony scenariusz.

Zazwyczaj, między tabelą wymiarów, a faktów istnieje relacja 1:N. Co to tak właściwie oznacza?
W tabeli klientów wpis dotyczący Dominika będzie tylko 1 (chyba, że śledzimy historię, wtedy może być ich kilka). Inaczej ujmując będzie 1 bieżący/ aktualny wpis, zawierający aktualne informacje o kliencie Dominik. Tak samo mamy jednego Klienta Marka Czumę.
Będąc klientem zazwyczaj kupuję produkty wielokrotnie.
Stąd relacja 1:n (1 do wielu). Ponieważ 1 Klient dokonuje wielu transakcji. Oczywiście możliwy jest scenariusz, jak poniżej:

Dominik (KlientID = 1) dokonał już 3 zakupów, z kolei Marek dopiero poznał sklep i w dniu 10.07.2025 dokonał pierwszego zakupu.
Wymiar Klienta jest stroną 1 naszej relacji między tabelą wymiaru, a tabeli faktów (która jest stroną wiele).
Tak jak pisałem, mamy 1 klienta Dominika i 1 klienta Marka. W tabeli Klientów Marek i Dominik występują raz. Niezależnie od tego ile transakcji wykonali w ramach danego sklepu. Zazwyczaj, tak jak wspominałem, mamy wiele transakcji sprzedaży danego klienta. Ale oczywiście może być sytuacja jak z Markiem, który zakupu dokonał póki co tylko raz.
Tak samo możemy to przełożyć na tabelę/ wymiar Produkt.

Załóżmy, że handlujemy kawą ziarnistą. W naszej tabeli wymiarów związanej z produktami będziemy mieli 1 wpis dotyczący kawy X. (ProduktID =1, Nazwa = KawaX, Produkt ID = 2 , KawaY) itp.
Zmieńmy nieco naszą tabelę faktową dotyczącą sprzedaży (Dodając klucz do tabeli produktu i ilość produktów sprzedanych).

Wówczas między wymiarem produkt, a sprzedażą będzie relacja 1:* (1 do wielu). Jeden unikatowy produkt jest kupowany wielokrotnie, przez różnych klientów.
Wówczas nasz pierwszy, prosty model danych będzie wyglądał tak:

Jak widzisz, między klientem, a sprzedażą występuje relacja 1 do wielu. Tak samo jak między Produktem, a Sprzedażą.
W modelu danym spotkamy się też z relacjami 1:1 i N:N (wiele do wielu). Co do zasady, najczęściej spotkasz relację 1:N (1 do wielu).
Narzędzia w świecie PBI #
Jednym z narzędzi do budowania modeli danych jest Power BI Desktop, gdzie tworzysz model. W kolejnej fazie opublikowane rozwiązanie jest modelem semantycznym usługi Power BI Online. Do tego modelu podpinają się analitycy/ użytkownicy, żeby budować swoje raporty.
Oczywiście model danych umożliwia nam analizę danych w kontekście wielu wymiarów. Ja lubię mówić, że dane przecinają się z danym wymiarem. Czyli np. sprzedaż przecina się z datą, klientem i produktem.
Oczywiście zanim dane zostaną wystawione w postaci modelu, istnieje cała masa transformacji danych, ich przetwarzania, oczyszczania, zanim znajdą się w warstwie, do której podpinają się narzędzia raportowe. Biznes interesuje kompletna informacja o Klientach. Nie bardzo interesuje ich, że tabela Klientów powstała z informacji zawartych w tabelkach Systemowych KNA1, KNVV i KNBK.
Podsumowanie #
To pierwszy artykuł, który tak ogólnie mówi o koncepcji modelowania danych.
Chciałbym, żebyś zapamiętała/ zapamiętał z niego, że dane wyciągane z systemów źródłowych np. ERP są po drodze przetwarzane, oczyszczane, tak, żeby zasilać odpowiednie obiekty w ramach naszego modelu danych.
Nasz model danych będzie składał się z tabel faktów i wymiarów, które są ze sobą połączone relacją. Wymiar opisuje dane w sposób deskrypcyjny, zawiera opis „słownomelodyczny”.
Fakty, to z kolei tabelki zawierające klucze do wymiarów i wartości liczbowe, które chcemy analizować.
Model danych pozwala uprościć zrozumienie danych, organizuje też dane w przystępny sposób, przyspiesza proces analizy i pozwala na podłączenie się do niego innymi narzędziami, które pozwolą nam budować raporty.
Live o modelowaniu #
Już 17.07.2025 o 21:00 będę miał przyjemność poprowadzić live’a w ramach Akademii, gdzie opowiem o modelowaniu nieco więcej, niż w dzisiejszym artykule. Jeśli czytasz to przed livem, wpadnij na niego koniecznie! Jeśli czytasz to później, zajrzyj do nagrań w ramach Akademii.
Responses