M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Opanowanie Power Query: przekształcanie płaskich danych w schemat gwiazdy

By · · Updated

Witamy ponownie na blogu towarzyszącym podcastowi! W dzisiejszym wpisie zagłębiamy się w techniczne mechanizmy modelowania danych. Jeśli masz do czynienia z ogromnym, płaskim zrzutem danych z systemu korporacyjnego, w którym każda transakcja powtarza nazwiska klientów, kategorie produktów i lokalizacje geograficzne milion razy, wiesz, jakie problemy to sprawia w raportach. Wolne działanie, zawiłe

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering Power Query:Transforming Flat Data…M365.FM
Titelbild: Mastering Power Query: Transforming Flat Data into a Star Schema

Witamy ponownie na blogu towarzyszącym podcastowi! W dzisiejszym wpisie zagłębiamy się w techniczne mechanizmy modelowania danych. Jeśli masz do czynienia z ogromnym, płaskim zrzutem danych z systemu korporacyjnego, w którym każda transakcja powtarza nazwiska klientów, kategorie produktów i lokalizacje geograficzne milion razy, wiesz, jakie problemy to sprawia w raportach. Wolne działanie, zawiłe formuły DAX i rozdęte pliki to dopiero początek. Na szczęście istnieje sprawdzony wzorzec architektoniczny, po który sięgają zawodowi deweloperzy BI, aby rozwiązać ten konkretny problem: schemat gwiazdy.

W tym kompleksowym przewodniku pokażemy, jak wziąć nieuporządkowany eksport danych z jednej tabeli i za pomocą Power Query podzielić go na czysty centralny fact table oraz wydajne, szybkie tabele wymiarów. Omówimy po drodze planowanie strategiczne, najlepsze praktyki czyszczenia danych, generowanie kluczy zastępczych oraz techniki optymalizacji modelu, dzięki którym raporty w Power BI będą błyskawiczne.

Wprowadzenie do Power Query i podstaw schematu gwiazdy

Przy tworzeniu rozwiązań w Microsoft Power BI to struktura danych determinuje wszystko, co następuje później. Schemat gwiazdy to dojrzała, wysoko zoptymalizowana technika modelowania danych, w której metryki biznesowe znajdują się w centralnej tabeli faktów, a opisowe atrybuty encji biznesowych są przechowywane w otaczających tabelach wymiarów. Ten układ na diagramie przypomina kształt gwiazdy. Większość deweloperów BI wybiera tę metodę, ponieważ zapewnia rozwiązanie biznesowej inteligencji, które jest wyjątkowo łatwe w utrzymaniu i skalowaniu.

Badania konsekwentnie pokazują, że zastosowanie tego wzorca projektowego przynosi ogromne korzyści. Około 80% użytkowników Power BI budujących modele w schemacie gwiazdy zgłasza lepszą wydajność i efektywność analiz w porównaniu z podejściem opartym na płaskich tabelach. Z kolei pominięcie schematu gwiazdy wprowadza poważne przeszkody w cyklu rozwoju:

Aby w pełni zrozumieć, jak przebudować dane, przyjrzyjmy się podstawowym krokom, które należy wykonać, zanim dotkniemy choćby jednej linii kodu transformacji.

Planowanie schematu gwiazdy

Zanim zaczniesz pisać kroki transformacji w Power BI, potrzebujesz jasnego, przemyślanego planu schematu gwiazdy. Staranne planowanie pozwala uniknąć zamieszania, przyspiesza raporty i znacznie ułatwia utrzymanie modelu. Jako deweloper BI zawsze powinieneś zweryfikować źródła danych i zaplanować schemat, zanim zaimportujesz surowe, nieuporządkowane zrzuty danych do Power BI Desktop.

Analiza źródeł danych i identyfikacja kluczowych tabel

Rozpocznij podróż architektoniczną od dokładnego przejrzenia surowych źródeł danych. Szukaj tabel lub plików płaskich zawierających liczbowe zdarzenia biznesowe, takie jak transakcje sprzedaży, kliknięcia na stronie czy ruchy magazynowe. Ostatecznie staną się one centralną tabelą faktów. Następnie szukaj kolumn opisujących encje biznesowe, takie jak nazwy klientów, opisy produktów, listy pracowników czy daty kalendarzowe. Będą one stanowić podstawę tabel wymiarów.

Wskazówka: Zawsze używaj liczbowych kluczy całkowitych do łączenia tabel. Klucze liczbowe przyspieszają zapytania silnika VertiPaq i sprawiają, że relacje są znacznie bardziej niezawodne niż dopasowywanie oparte na tekście.

Gdy zidentyfikujesz tabele, narysuj wizualny diagram encji i relacji. Upewnij się, że centralna tabela faktów łączy się bezpośrednio z poszczególnymi tabelami wymiarów, i zdecydowanie unikaj bezpośredniego łączenia dwóch oddzielnych tabel faktów. Utrzymanie modelu z jednym skokiem między faktami a wymiarami zapobiega niejednoznaczności filtrowania i sprawia, że model semantyczny pozostaje czysty.

Import i czyszczenie danych za pomocą Power Query

Import danych do Power BI stanowi absolutny fundament niezawodnego schematu gwiazdy. Musisz połączyć się ze źródłami danych, oczyścić i przekształcić przychodzące dane oraz starannie załadować tabele. Power Query pełni rolę głównego warsztatu przygotowania danych, pozwalając kształtować i udoskonalać informacje, zanim trafią do modelu danych.

Przy pobieraniu danych rozsądnie korzystaj z ustawień „Włącz wczytywanie” w Power Query. Wyłącz wczytywanie zapytań pośrednich i tymczasowych tabel pomocniczych, tak aby w pamięci modelu znajdowały się tylko Twoje końcowe, zoptymalizowane tabele faktów i wymiarów. Ponadto wykonuj jak najwięcej kroków filtrowania i transformacji jak najbliżej źródła danych — jest to koncepcja znana jako składanie zapytań (query folding) — dzięki czemu odświeżanie danych będzie działać naprawdę szybko.

Czyszczenie danych polega na systematycznym usuwaniu błędów, poprawianiu niespójności formatowania i standaryzowaniu ciągów tekstowych. Sprawdzaj brakujące wartości w kluczowych kolumnach kluczy obcych i natychmiast je poprawiaj. Zapewnienie, że klucze mają identyczne typy danych we wszystkich tabelach, jest absolutnie konieczne do prawidłowego tworzenia relacji.

Tworzenie tabel wymiarów i kluczy zastępczych

Dobrze zaprojektowana tabela wymiarów jest prawdziwym fundamentem schematu gwiazdy. Tabele wymiarów dostarczają bogatego kontekstu dotyczącego działalności biznesowej. Aby wyodrębnić wymiary z płaskiego eksportu danych, musisz wyizolować unikalne atrybuty danej jednostki i usunąć zduplikowane wiersze.

Wyodrębnianie atrybutów i usuwanie duplikatów

Budując tabelę wymiarów z płaskiego zrzutu danych, wybierz wyłącznie kolumny istotne dla filtrowania i grupowania. Na przykład wymiar produktu powinien zawierać identyfikator produktu, nazwę produktu, kategorię, podkategorię i cenę jednostkową. Po wyizolowaniu tych kolumn usuń zduplikowane rekordy, aby każda jednostka występowała dokładnie raz. Unikalne wiersze gwarantują, że relacje jeden-do-wielu będą działać bez nieoczekiwanych skutków ubocznych w postaci filtrowania krzyżowego.

Aby tabele wymiarów były odporne na zmiany w systemach źródłowych, rozważ wygenerowanie kluczy zastępczych. Klucz zastępczy to sztuczna kolumna z liczbą całkowitą generowaną automatycznie z przyrostem, tworzona podczas kroków transformacji w Power Query. Używanie kluczy zastępczych zamiast niestabilnych naturalnych kluczy tekstowych chroni historyczne dane faktów, gdy opisy źródłowe — na przykład adres zamieszkania klienta lub nazwa produktu — zmieniają się w czasie.

Budowanie i agregowanie tabeli faktów

Gdy czyste tabele wymiarów są już gotowe, możesz zająć się budową głównej tabeli faktów. Tabela faktów przechowuje mierzalne, ilościowe zdarzenia biznesowe. Każdy wiersz reprezentuje konkretną transakcję lub zdarzenie na najniższym poziomie szczegółowości wymaganym przez interesariuszy.

Przy bardzo dużych zbiorach danych rozważ tworzenie tabel agregujących na poziomie zapytań lub hurtowni danych. Wstępne agregowanie danych według miesiąca, regionu lub kategorii produktu znacznie zmniejsza liczbę wierszy i przyspiesza renderowanie wizualizacji. Budując tabelę faktów, sprawdź, czy ziarnistość jest spójna: łączenie w tej samej tabeli wierszy zagregowanych dziennie z pojedynczymi transakcjami zarejestrowanymi co do sekundy zafałszuje agregacje miar i doprowadzi do podwójnego liczenia.

Konfigurowanie relacji i optymalizacja modelu

Gdy tabele zostaną wczytane do Power BI, musisz skonfigurować relacje modelu w widoku modelu. Utwórz czyste relacje jeden-do-wielu, wskazujące od strony „jeden” tabel wymiarów do strony „wiele” centralnej tabeli faktów.

Domyślnie utrzymuj jednokierunkowe filtrowanie krzyżowe. Unikaj dwukierunkowego filtrowania, chyba że jest to absolutnie konieczne, ponieważ wprowadza ono złożone ścieżki filtrów, obniża wydajność silnika VertiPaq i często daje nieoczekiwane wyniki analityczne. Regularnie audytuj model: usuwaj nieużywane kolumny, minimalizuj liczbę kolumn tekstowych o wysokiej kardynalności w relacjach i upewnij się, że ciągły kalendarz jest wyraźnie oznaczony jako tabela dat, co umożliwia bezproblemowe obliczenia z zakresu inteligencji czasowej.

Raportowanie i analiza z wykorzystaniem schematu gwiazdy

Ostatecznie wszystkie wysiłki związane z modelowaniem danych znajdują swoje ujście w warstwie raportowania. Gdy model semantyczny ma czysty schemat gwiazdy, tworzenie interaktywnych pulpitów staje się prawdziwą przyjemnością. Filtry i segmentatory działają natychmiast, miary DAX pozostają czytelne i łatwe do debugowania, a funkcje pytań i odpowiedzi w języku naturalnym osiągają imponującą dokładność.

Aby poznać ten wzorzec architektoniczny w większym szczegółach i wysłuchać opinii ekspertów na temat unikania typowych pułapek modelowania, koniecznie zajrzyj do powiązanego odcinka podcastu: Build a Power BI Star Schema for Faster Reports.

Podsumowanie

Przekształcanie płaskich, chaotycznych zrzutów danych w zoptymalizowany schemat gwiazdy za pomocą Power Query to jedna z najcenniejszych umiejętności, jakie może opanować deweloper Power BI. Dzięki starannemu planowaniu schematu, czyszczeniu wymiarów, generowaniu stabilnych kluczy zastępczych oraz konfigurowaniu ścisłych relacji jeden-do-wielu zyskujesz błyskawiczną wydajność zapytań, uproszczone obliczenia DAX i solidne raportowanie na poziomie przedsiębiorstwa.

Pamiętaj, aby korzystać z list kontrolnych modelowania, weryfikować liczbę wierszy względem systemów źródłowych i na bieżąco audytować modele wraz z rozwojem potrzeb organizacji. Aby zgłębić te strategie i praktyczne dyskusje na temat najlepszych praktyk ekosystemu Microsoft, koniecznie posłuchaj pełnego odcinka: Build a Power BI Star Schema for Faster Reports. Miłego modelowania!

Entities in this article

Star schema Power Query Power BI Surrogate key Power BI Desktop Semantic model VertiPaq engine

Related articles

RSS