Lekcja 18 – Zarządzanie dużymi bazami danych w Power BI

W tej lekcji omówimy, jak efektywnie zarządzać dużymi zbiorami danych w Power BI, korzystając z narzędzi takich jak Power Query i Power Pivot. Dowiesz się, jak optymalizować wydajność raportów, przekształcać dane w Power Query, a także jak tworzyć modele danych w Power Pivot, aby zarządzać relacjami między tabelami i przeprowadzać zaawansowaną analizę.

Wyzwania związane z dużymi bazami danych

Praca z dużymi zbiorami danych w Power BI może być wyzwaniem ze względu na wydajność, szybkość przetwarzania i zarządzanie relacjami między tabelami. Oto kilka typowych wyzwań, z którymi można się spotkać:

  1. Wydajność: Duże zbiory danych mogą spowolnić działanie raportów w Power BI, zwłaszcza podczas przekształcania danych lub stosowania złożonych miar i kalkulacji DAX.
  2. Pamięć operacyjna: Power BI ładuje dane do pamięci operacyjnej (RAM), co oznacza, że duże ilości danych mogą wyczerpać zasoby komputera.
  3. Skalowanie danych: Konieczność pracy z wieloma tabelami i relacjami między nimi może skomplikować analizę, zwłaszcza gdy zbiory danych pochodzą z różnych źródeł.

W tej lekcji skupimy się na technikach, które pozwolą zarządzać dużymi zbiorami danych, optymalizując ich wydajność i umożliwiając przeprowadzanie kompleksowych analiz.

Power Query – Przekształcanie danych przed załadowaniem do Power BI

Power Query to narzędzie do przekształcania i oczyszczania danych, które umożliwia importowanie danych z różnych źródeł i przygotowanie ich przed załadowaniem do modelu danych w Power BI. W przypadku dużych zbiorów danych kluczowe jest przekształcanie danych jeszcze przed ich załadowaniem, aby zmniejszyć rozmiar danych i wyeliminować zbędne informacje.

1. Filtruj dane na wczesnym etapie

Jednym z najważniejszych kroków w optymalizacji danych jest filtrowanie ich jeszcze przed załadowaniem do Power BI. Dzięki filtrowaniu możesz ograniczyć liczbę wierszy i kolumn, które są ładowane do modelu danych, co znacząco poprawia wydajność.

Przykład filtrowania w Power Query:

Załóżmy, że masz dane sprzedażowe za ostatnie 10 lat, ale w analizie interesują Cię tylko dane z ostatnich 3 lat. Możesz przefiltrować dane w Power Query, aby zaimportować tylko te wiersze, które spełniają to kryterium:

  1. Otwórz Power Query Editor w Power BI.
  2. Wybierz kolumnę z datami (np. Data sprzedaży).
  3. Kliknij strzałkę w nagłówku kolumny i wybierz Filtruj według daty.
  4. Wybierz filtr, który pozwoli załadować tylko dane z ostatnich 3 lat.

Dzięki filtrowaniu zmniejszysz liczbę wierszy załadowanych do modelu danych, co pozwoli na bardziej efektywną pracę z raportami.

2. Usuń zbędne kolumny

W dużych zbiorach danych często znajduje się wiele kolumn, które nie są potrzebne do analizy. Usunięcie zbędnych kolumn może znacząco zmniejszyć rozmiar danych i przyspieszyć ich przetwarzanie.

Przykład usuwania kolumn:

  1. W Power Query Editor wybierz kolumny, które nie są potrzebne w analizie.
  2. Kliknij prawym przyciskiem myszy na wybraną kolumnę i wybierz Usuń.
  3. Możesz również skorzystać z opcji Usuń inne kolumny, aby zachować tylko te, które są potrzebne.
3. Zmiana typów danych

Typ danych ma wpływ na wydajność przetwarzania. Na przykład liczby całkowite (integer) są przetwarzane szybciej niż liczby zmiennoprzecinkowe (decimal), a liczby zajmują mniej miejsca niż tekst. Dlatego warto upewnić się, że kolumny mają odpowiedni typ danych.

Przykład zmiany typu danych:

  1. W Power Query Editor wybierz kolumnę, której typ danych chcesz zmienić.
  2. Kliknij prawym przyciskiem myszy i wybierz Zmień typ.
  3. Wybierz odpowiedni typ danych, np. Liczba całkowita dla liczb całkowitych lub Data/Czas dla dat.

Power Pivot – Tworzenie i zarządzanie modelem danych

Power Pivot to narzędzie w Power BI, które umożliwia tworzenie modeli danych z wielu tabel oraz definiowanie relacji między nimi. Dzięki Power Pivot możesz tworzyć relacyjne modele danych, które są bardziej elastyczne i efektywne, zwłaszcza w przypadku dużych zbiorów danych.

1. Tworzenie relacji między tabelami

Power Pivot pozwala na tworzenie relacji między tabelami, co umożliwia analizowanie danych z różnych źródeł w jednym raporcie. W dużych modelach danych kluczowe jest prawidłowe definiowanie relacji, aby zapewnić spójność danych i uniknąć błędów w obliczeniach.

Przykład tworzenia relacji:

Załóżmy, że masz trzy tabele: Sprzedaż, Produkty i Klienci. Możesz utworzyć relacje między tymi tabelami na podstawie wspólnych kluczy, takich jak ID produktu i ID klienta.

  1. W Power BI przejdź do zakładki Model.
  2. Przeciągnij klucz z tabeli Sprzedaż (np. ID produktu) na odpowiadający klucz w tabeli Produkty.
  3. Zrób to samo dla relacji między tabelą Sprzedaż a tabelą Klienci.
2. Używanie hierarchii w modelu danych

Hierarchie pozwalają na grupowanie danych na różnych poziomach szczegółowości. Na przykład, jeśli masz dane o sprzedaży według dat, możesz utworzyć hierarchię, która będzie zawierać Rok, Kwartał, Miesiąc i Dzień. Dzięki hierarchii użytkownicy raportów mogą łatwo zagłębiać się w dane na różnych poziomach.

Przykład tworzenia hierarchii:

  1. W Power BI przejdź do zakładki Model.
  2. Wybierz tabelę, która zawiera kolumny z datami.
  3. Kliknij prawym przyciskiem myszy na kolumnę Rok i wybierz Nowa hierarchia.
  4. Dodaj inne poziomy, takie jak Kwartał, Miesiąc i Dzień.
3. Optymalizacja modelu danych

Aby poprawić wydajność modelu danych, można zastosować kilka technik optymalizacyjnych:

  • Zredukowanie liczby kolumn: Przechowuj tylko te kolumny, które są naprawdę potrzebne.
  • Normalizacja danych: Rozbijaj dane na mniejsze, bardziej zoptymalizowane tabele, co zmniejszy ich rozmiar.
  • Łączenie tabel: Jeśli to możliwe, łącz mniejsze tabele w jedną dużą tabelę, aby uprościć relacje.

Optymalizacja zapytań DAX

DAX (Data Analysis Expressions) to język, który służy do tworzenia zaawansowanych obliczeń i miar w Power BI i Power Pivot. Optymalizacja zapytań DAX jest kluczowa dla pracy z dużymi zbiorami danych, ponieważ złożone obliczenia mogą znacząco spowolnić raporty.

1. Używanie funkcji iteracyjnych

Funkcje iteracyjne, takie jak SUMX, AVERAGEX czy MAXX, pozwalają na przeprowadzanie obliczeń dla każdego wiersza tabeli. Chociaż są potężne, mogą być wolne przy pracy z dużymi danymi, dlatego warto ich używać ostrożnie i tylko tam, gdzie jest to konieczne.

Przykład optymalizacji:

Zamiast używać funkcji iteracyjnych, kiedy to możliwe, korzystaj z funkcji agregujących, takich jak SUM, AVERAGE czy MAX, które są znacznie szybsze.

Porównaj te dwa podejścia:

1. SUMX iteruje po każdym wierszu w tabeli:

SUMX(Sprzedaż, Sprzedaż[Ilość] * Sprzedaż[CenaJednostkowa])

2. SUM agreguje dane bez iteracji:

SUM(Sprzedaż[KwotaSprzedaży])

Jeśli KwotaSprzedaży jest już obliczona w tabeli, użycie SUM będzie znacznie wydajniejsze.

2. Ograniczanie filtrów w funkcji CALCULATE

Funkcja CALCULATE pozwala na zmianę kontekstu obliczeń, jednak użycie jej zbyt często lub zbyt złożonych filtrów może spowolnić wydajność. Aby zoptymalizować CALCULATE, staraj się ograniczać liczbę filtrów i operacji logicznych.

Przykład optymalizacji:

Zamiast używać skomplikowanych warunków, rozważ uproszczenie wyrażeń, np. zamiast kilku filtrów użyj jednego, który zawiera wszystkie warunki:

Przed optymalizacją:

CALCULATE(SUM(Sprzedaż[KwotaSprzedaży]), Sprzedaż[Region] = "Region A", Sprzedaż[Produkt] = "Produkt X")

Po optymalizacji:

CALCULATE(SUM(Sprzedaż[KwotaSprzedaży]), FILTER(Sprzedaż, Sprzedaż[Region] = "Region A" && Sprzedaż[Produkt] = "Produkt X"))
3. Tworzenie miar zamiast kolumn obliczeniowych

Miary są dynamicznie obliczane na bieżąco i są bardziej wydajne w pracy z dużymi zbiorami danych niż kolumny obliczeniowe. Jeśli obliczenia zależą od kontekstu, lepiej jest używać miar zamiast tworzyć dodatkowe kolumny w modelu danych.

Podsumowanie

W tej lekcji nauczyłeś się, jak zarządzać dużymi zbiorami danych w Power BI, korzystając z narzędzi takich jak Power Query i Power Pivot. Omówiliśmy techniki filtrowania danych, usuwania zbędnych kolumn, zmiany typów danych, a także tworzenie relacji między tabelami i hierarchii w modelu danych. Przedstawiliśmy również metody optymalizacji zapytań DAX, które pozwalają na bardziej wydajną pracę z danymi.

Praca z dużymi zbiorami danych wymaga odpowiedniej strategii optymalizacji zarówno na etapie przekształcania danych w Power Query, jak i budowania modelu danych w Power Pivot. Dzięki zastosowaniu technik przedstawionych w tej lekcji, będziesz mógł tworzyć bardziej wydajne i skalowalne raporty w Power BI, które będą działać szybko nawet przy pracy z dużymi danymi.

W kolejnej lekcji omówimy, jak najlepiej integrować Power BI z innymi narzędziami i usługami, takimi jak Power Automate i Power Apps, aby automatyzować procesy raportowania i przetwarzania danych w firmie.

Gratulacje! Ukończyłeś lekcję 18.
Przejdź teraz do lekcji 19 >> Analiza danych z wykorzystaniem Excela, Power BI i innych narzędzi


Spis Treści - darmowy kurs Excel


Wprowadzenie: Czym jest arkusz kalkulacyjny?
Lekcja 1: Wprowadzanie i formatowanie danych w Excelu
Lekcja 2: Korzystanie z formuł i funkcji w Excelu
Lekcja 3: Tabele i zarządzanie danymi w Excelu
Lekcja 4: Tworzenie wykresów w Excelu
Lekcja 5: Tabele przestawne w Excelu
Lekcja 6: Zaawansowane techniki filtrowania i sortowania danych w Excelu
Lekcja 7: What-If Analysis w Excelu
Lekcja 8: Solver i zaawansowana optymalizacja w Excelu
Lekcja 9: Zaawansowane scenariusze z użyciem Solver w Excel
Lekcja 10: Analysis ToolPak – Narzędzie do zaawansowanej analizy danych w Excelu
Lekcja 11: Power Query w Excelu – zaawansowane techniki pracy z danymi
Lekcja 12: Power Pivot – Analiza dużych zestawów danych w Excelu
Lekcja 13: Power BI – Tworzenie interaktywnych raportów i wizualizacji danych
Lekcja 14: Power Automate – Automatyzacja procesów biznesowych i Power BI
Lekcja 15: Power Apps – Tworzenie aplikacji na podstawie danych z Excela i Power BI
Lekcja 16: Zaawansowane funkcje DAX w Power BI i Power Pivot
Lekcja 17: Tworzenie zaawansowanych raportów w Power BI – Case Study
Lekcja 18: Zarządzanie dużymi bazami danych w Power BI
Lekcja 19: Analiza danych z wykorzystaniem Excela, Power BI i innych narzędzi

Jeśli chciałbyś być poinformowany o następnych kursach to zapisz się do naszego newslettera: