Power Query for Analysts

From Training Material
Jump to navigation Jump to search

Modul 1: Wprowadzenie do Power Query i podstawowe transformacje

Cel

W tym ćwiczeniu nauczysz się:

Importować dane z pliku CSV do Power Query. Sprawdzać i dostosowywać typy danych, koncentrując się na konwersji daty zapisanej jako tekst na rzeczywisty typ daty. Zastosować podstawowe filtrowanie danych. Korzystać z pomocy zewnętrznej (np. ChatGPT) w celu uzyskania wskazówek dotyczących tworzenia niestandardowego kodu M, bez bezpośredniego kopiowania rozwiązań.

Dostarczone dane

Otrzymujesz do pobrania plik CSV o nazwie 📂Media:PQsales.csv który zawiera dane zamówień sprzedaży.

Instrukcje

  • Krok 1: Importuj dane
  1. Otwórz Power Query w Excelu lub Power BI.
  2. Zaimportuj dane z pliku sales.csv.
  3. Zauważ, że kolumna OrderDate została zaimportowana jako tekst ze względu na swój format (dd/MM/yyyy).
  • Krok 2: Sprawdź i przekonwertuj typy danych
  1. Sprawdź, czy każda kolumna ma poprawny typ danych.
  2. Ręcznie przekształć kolumnę OrderDate z tekstu na typ daty.
  3. Wskazówka: Jeśli napotkasz trudności, możesz zapytać ChatGPT o wskazówki, jak napisać funkcję M do konwersji tekstu na datę.
  • Krok 3: Zastosuj podstawowe filtrowanie
  1. Filtruj zestaw danych, tak aby pozostały tylko wiersze, w których koszt jest większy niż 200.
  2. Propozycja: Użyj interfejsu graficznego Power Query lub napisz prosty skrypt M, aby zastosować filtr. Jeśli to konieczne, skonsultuj się z ChatGPT w celu uzyskania pomysłów na implementację tego filtru.
  • Krok 4: Przejrzyj i zapisz swoją pracę
  1. Potwierdź, że transformacje zostały poprawnie zastosowane, przeglądając podgląd danych.
  2. Zapisz zapytanie i udokumentuj kroki, które podjąłeś.

Zadanie

Wykonaj kroki opisane powyżej w Power Query. Eksperymentuj z dostępnymi opcjami transformacji i staraj się zrozumieć, jak każdy krok wpływa na Twoje dane. Używaj ChatGPT w celu uzyskania wskazówek lub rozwiązywania problemów, ale unikaj kopiowania kompletnych rozwiązań dosłownie.

Modul 2: Laczenie i scalanie danych z wielu zrodel

Cel

W tym ćwiczeniu nauczysz się:

Importować dane z wielu plików CSV do Power Query. Scalić (połączyć) dane z różnych źródeł na podstawie wspólnego klucza. Użyć lewego zewnętrznego łączenia (Left Outer Join) do dodania szczegółów klienta do zamówień sprzedaży. Korzystać z pomocy zewnętrznej (np. ChatGPT) w celu uzyskania wskazówek dotyczących pisania niestandardowego kodu M, bez kopiowania kompletnych rozwiązań.

Dostarczone dane

Otrzymujesz do pobrania dwa pliki CSV:

📂 Media:PQ_sales2.csv – Zawiera dane zamówień sprzedaży:

📂 Media:PQ_customers.csv – Zawiera informacje o klientach:

Instrukcje

  • Krok 1: Importuj dane

Otwórz Power Query w Excelu lub Power BI. Zaimportuj dane z obu plików PQ_sales.csv i PQ_customers.csv. Sprawdź, czy oba zapytania zostały załadowane poprawnie.

  • Krok 2: Sprawdź i przekonwertuj typy danych

Potwierdź, że każda kolumna ma odpowiedni typ danych w obu zapytaniach. Na przykład, zauważ, że kolumna OrderDate w PQ_sales.csv jest zaimportowana jako tekst z powodu niestandardowego formatu. Wskazówka: Użyj funkcji transformacji, jeśli jakiekolwiek dostosowania są potrzebne.

  • Krok 3: Scal dane

Scal zapytanie PQ_sales.csv z zapytaniem PQ_customers.csv. Użyj kolumny Customer jako klucza dopasowania. Wybierz lewy zewnętrzny join (Left Outer Join), aby każde zamówienie sprzedaży zostało zachowane wraz z odpowiednimi szczegółami klienta. Propozycja: Jeśli nie wiesz, jak napisać kod M do tego scalenia, zapytaj ChatGPT o wskazówki dotyczące scalania zapytań.

  • Krok 4: Przejrzyj scalone dane

Potwierdź, że wynikowe zapytanie zawiera dodatkowe kolumny (np. Region, CustomerSince) z pliku PQ_customers.csv. Sprawdź scalone dane, aby upewnić się, że szczegóły klientów zostały poprawnie połączone z odpowiednimi zamówieniami sprzedaży.

  • Krok 5: Zapisz swoją pracę

Zapisz swoje zapytanie i udokumentuj kroki transformacji, które zastosowałeś.

Zadanie

Wykonaj kroki opisane powyżej w Power Query. Eksperymentuj z interfejsem graficznym i niestandardowym kodem M w celu wykonania scalania. Korzystaj z zasobów zewnętrznych (np. ChatGPT) w celu uzyskania wskazówek lub rozwiązywania problemów, ale unikaj kopiowania kompletnych rozwiązań dosłownie.

Modul 3: Tworzenie niestandardowych kolumn i funkcji

Cel

W tym ćwiczeniu nauczysz się:

Tworzyć niestandardowe kolumny obliczeniowe w Power Query.

Używać wbudowanych funkcji Power Query do manipulacji tekstem, liczbami i datami.

Pisać niestandardowe funkcje w języku M, aby automatyzować transformacje.

Korzystać z ChatGPT do pomocy przy pisaniu i optymalizacji kodu M.

Dostarczone dane

Do tego ćwiczenia wykorzystamy następujące zbiory danych:

📂Media:PQ_sales2.csv (używany w poprzednich modułach)

📂Media:PQ_discounts.csv (nowy zbiór danych) - zawiera stawki rabatowe w zależności od typu produktu.

Instrukcje

  • Krok 1: Importuj dane

Otwórz Power Query w Excelu lub Power BI. Zaimportuj oba pliki: PQ_sales.csv i PQ_discounts.csv. Upewnij się, że obie tabele zostały załadowane poprawnie.



  • Krok 2: Tworzenie niestandardowej kolumny dla całkowitego kosztu

W tabeli PQ_sales dodaj nową niestandardową kolumnę: Przejdź do Dodaj kolumnę → Kolumna niestandardowa. Nazwij ją TotalCost. Utwórz formułę do obliczenia całkowitego kosztu jako:

Quantity * Cost

Kliknij OK i sprawdź wyniki.



  • Krok 3: Zastosowanie rabatów za pomocą scalania

Scal PQ_sales z PQ_discounts, używając kolumny Product jako klucza. Rozwiń kolumnę DiscountRate do tabeli PQ_sales. Dodaj kolejną niestandardową kolumnę o nazwie DiscountedPrice:

[TotalCost] - ([TotalCost] * [DiscountRate])

Sprawdź, czy nowa kolumna poprawnie stosuje rabaty.

  • Krok 4: Tworzenie niestandardowej funkcji w M

Utwórz funkcję do kategoryzowania produktów w różne przedziały cenowe: Przejdź do Strona główna → Edytor zaawansowany. Napisz funkcję M, która przyjmuje Cost jako wejście i zwraca kategorię:

Low if Cost < 500 Medium if Cost between 500 and 1500 High if Cost > 1500

Wskazówka: Jeśli nie jesteś pewny, jak zbudować funkcję, zapytaj ChatGPT: "Jak napisać funkcję M, która kategoryzuje ceny na Low, Medium i High?"

  • Krok 5: Przypisywanie kategorii

W tabeli PQ_sales dodaj niestandardową kolumnę, używając funkcji. Nazwij kolumnę PriceCategory. Upewnij się, że kategorie są wyświetlane poprawnie na podstawie wartości w kolumnie Cost.

Zadanie

  • ✔ Wykonaj wszystkie kroki w Power Query.
  • ✔ Eksperymentuj zarówno z interfejsem graficznym, jak i z kodem M.
  • ✔ Korzystaj z ChatGPT w celu rozwiązywania problemów lub poprawiania skryptu M.

Modul 4: Zaawansowane transformacje danych w Power Query

Cel

W tym module nauczysz się:

  • ✔ Jak pivotować i unpivotować dane w Power Query.
  • ✔ Jak dzielić i scalać kolumny w celu lepszej strukturyzacji danych.
  • ✔ Jak używać transformacji warunkowych.
  • ✔ Jak wykorzystać ChatGPT do tworzenia złożonych skryptów M.

Dostarczone dane

Do tego ćwiczenia wprowadzimy nowy zbiór danych:

PQ_sales_pivot.csv, który zawiera miesięczne dane sprzedaży różnych produktów.

📂 Media:PQ_sales_pivot.csv - Struktura danych w formacie pivot.

Instrukcje

Krok 1: Importuj dane Otwórz Power Query w Excelu lub Power BI. Zaimportuj plik PQ_sales_pivot.csv. Upewnij się, że tabela została poprawnie załadowana.
Krok 2: Unpivotowanie danych Obecna tabela ma szeroki format, który nie jest idealny do analizy. Unpivotuj kolumny miesięczne, aby dane miały strukturę:

  • Product
  • Category
  • Month
  • Sales Amount


Jak to zrobić:

  1. Kliknij Transformuj → Użyj pierwszego wiersza jako nagłówków, aby upewnić się, że kolumny mają poprawne nazwy.
  2. Zaznacz kolumny z miesiącami (Jan 2025, Feb 2025 itd.).
  3. Kliknij Transformuj → Unpivotuj kolumny.
  4. Zmień nazwy wynikowych kolumn:

"Attribute" → Month "Value" → Sales Amount
Krok 3: Dzielnie i scalanie kolumn

  1. Kolumna Month obecnie zawiera wartości takie jak "Jan 2025".
  2. Podziel tę kolumnę na Month Name i Year:
  3. Zaznacz kolumnę Month.
  4. Kliknij Transformuj → Podziel kolumnę → Według ogranicznika.
  5. Wybierz spację (" ") jako ogranicznik.
  6. Zmień nazwy nowych kolumn na Month Name i Year.
  7. Przykład scalania kolumn:

Jeśli chcesz scalić Product i Category, zaznacz obie kolumny.

  1. Kliknij Transformuj → Scal kolumny.
  2. Użyj " - " jako separatora (np. "Monitor - Electronics").


Krok 4: Dodanie transformacji warunkowych

  • Dodaj nową niestandardową kolumnę o nazwie "Sales Performance":
if [Sales Amount] < 300 then "Low" else if [Sales Amount] >= 300 and [Sales Amount] < 800 then "Medium" else "High"
  • Upewnij się, że kolumna poprawnie kategoryzuje wyniki sprzedaży.

Zadanie

  • ✔ Wykonaj wszystkie kroki w Power Query.
  • ✔ Eksperymentuj z unpivotowaniem, dzieleniem, scalaniem i logiką warunkową.
  • ✔ Korzystaj z ChatGPT w celu rozwiązywania problemów lub poprawiania skryptu M.

Moduł 5: Parametryzacja i dynamiczne zapytania w Power Query

Cel ćwiczenia

W tym module nauczysz się:

  • ✔ Jak tworzyć parametry w Power Query.
  • ✔ Jak używać parametrów do dynamicznego filtrowania i sterowania wynikami zapytań.
  • ✔ Jak budować dynamiczne źródła danych w oparciu o dane wejściowe użytkownika.*✔ Jak wykorzystać ChatGPT do pisania i optymalizacji kodu M dla parametrów.

Dostarczone dane

W tym ćwiczeniu użyjemy pliku PQ_sales.csv oraz nowego zestawu danych PQ_parameters.xlsx, który zawiera wartości do dynamicznego filtrowania.

📂 Media:PQ_parameters.xlsx - Tabela z parametrami do filtrowania:

Instrukcje

  1. Krok 1: Importowanie danych
  2. Otwórz Power Query w Excelu lub Power BI.
  3. Zaimportuj oba zestawy danych:

PQ_sales.csv (Dane transakcji sprzedaży). PQ_parameters.xlsx (Parametry filtrowania).

  1. Upewnij się, że tabele zostały poprawnie załadowane.
  • Krok 2: Tworzenie i używanie parametrów dynamicznie
  1. Załaduj tabelę PQ_parameters.xlsx do Power Query.
  2. Upewnij się, że tabela zawiera dwie kolumny: ParameterName (Nazwa parametru) i Value (Wartość).
  3. Kliknij Przekształć → Użyj pierwszego wiersza jako nagłówków, aby poprawnie przypisać nazwy kolumn.
  4. Przekształć tabelę w rekord, aby łatwo odwoływać się do wartości:
  5. Zaznacz kolumnę ParameterName i wykonaj Przestawienie kolumny.
  6. Kliknij Przekształć → Przestaw kolumnę, ustawiając Value jako kolumnę wartości.

Powinno to utworzyć rekord zawierający pola StartDate, EndDate, MinCost, MaxCost, FilePath (jeśli chcemy dynamicznie pobierać dane z innego pliku).

  1. Upewnij się, że wszystkie wartości mają poprawny typ danych (Data dla StartDate i EndDate, Liczba dla MinCost i MaxCost, Tekst dla FilePath).

Teraz parametry są dynamicznie pobierane z pliku PQ_parameters.xlsx.

  • Krok 3: Zastosowanie parametrów do filtrowania danych

Filtrowanie danych sprzedaży według zakresu dat:

  1. Otwórz zapytanie PQ_sales w Power Query.
  2. Upewnij się, że kolumna OrderDate ma typ Data. Jeśli nie, zmień go na Data poprzez Przekształć → Typ danych → Data.
  3. Kliknij ikonę filtra w kolumnie OrderDate.
  4. Wybierz Filtry dat → Filtr niestandardowy.
  5. W oknie filtrów ustaw:
  6. Pierwszy warunek na jest po lub równe i odwołaj się do StartDate z rekordu.
  7. Drugi warunek na jest przed lub równe i odwołaj się do EndDate z rekordu.
  8. Kliknij OK, aby zastosować filtr.

Alternatywnie, możesz użyć wyrażenia M do filtrowania danych:

Table.SelectRows(PQ_sales, each [OrderDate] >= Parameters[StartDate] and [OrderDate] <= Parameters[EndDate])

Filtrowanie danych sprzedaży według zakresu kosztów:

  1. Upewnij się, że kolumna Cost ma typ Liczba.
  2. Kliknij ikonę filtra w kolumnie Cost.
  3. Wybierz Filtry liczb → Pomiędzy.
  4. Ustaw pierwszy warunek na większe niż lub równe i odwołaj się do MinCost z rekordu.
  5. Ustaw drugi warunek na mniejsze niż lub równe i odwołaj się do MaxCost z rekordu.
  6. Kliknij OK, aby zastosować filtr.

Alternatywnie, możesz użyć wyrażenia M:

Table.SelectRows(PQ_sales, each [Cost] >= Parameters[MinCost] and [Cost] <= Parameters[MaxCost])
  • Krok 4: Tworzenie dynamicznego źródła danych

Dynamiczne pobieranie danych z pliku o ścieżce przechowywanej w parametrze:

Source = Excel.Workbook(File.Contents(Parameters[FilePath]), null, true)

Jeśli chcemy pobierać dane z pliku, którego ścieżka może się zmieniać, możemy dodać parametr FilePath do PQ_parameters.xlsx.

FilePath powinien zawierać pełną ścieżkę do pliku, np. C:\Dane\Raport.xlsx.

Po aktualizacji wartości w PQ_parameters.xlsx, Power Query automatycznie załaduje dane z nowej lokalizacji.

Zadanie

  • ✔ Stwórz i wykorzystaj parametry do dynamicznego filtrowania danych.
  • ✔ Zaimplementuj dynamiczne źródło danych wykorzystujące parametryzowaną ścieżkę pliku.
  • ✔ Skorzystaj z ChatGPT do analizy i optymalizacji kodu M w Power Query.

Modul 6: Automatyzacja Laczenia i Odswiezania Danych w Power Query

Cel

W tym module nauczysz się:

  • ✔ Jak automatycznie importować i łączyć pliki z folderu.
  • ✔ Jak radzić sobie z różnymi nazwami kolumn w różnych plikach.
  • ✔ Jak przygotować dane do raportowania niezależnie od struktury źródłowych plików.
  • ✔ Jak ustawić automatyczne odświeżanie danych w Power Query.

Dostarczone dane

W tym ćwiczeniu użyjemy zestawu wielu plików sprzedażowych, które znajdują się w jednym folderze.

📂 Media:Sales_Jan.xlsx – Sprzedaż za styczeń

📂 Media:Sales_Feb.xlsx – Sprzedaż za luty

📂 Media:Sales_Mar.xlsx – Sprzedaż za marzec

Każdy plik zawiera podobne dane, ale ma inne nazwy kolumn dla wartości sprzedaży:

W Sales_Jan.xlsx kolumna sprzedaży to Total Sale.

W Sales_Feb.xlsx kolumna sprzedaży to Revenue.

W Sales_Mar.xlsx kolumna sprzedaży to SalesAmount.

Celem jest połączenie tych plików w jeden zbiór i dostosowanie nazw kolumn, aby były spójne.

Instrukcje

  • Krok 1: Pobranie plików z folderu
  1. Otwórz Power Query w Excelu.
  2. Wybierz Dane → Pobierz dane → Z pliku → Z folderu.
  3. Wskaż folder, w którym znajdują się pliki sprzedażowe (Sales_Jan.xlsx, Sales_Feb.xlsx, Sales_Mar.xlsx).
  4. Kliknij Załaduj (Load), aby dodać pliki do Power Query bez automatycznego łączenia.
  • Krok 2: Zastosowanie kodu M do załadowania danych
  1. Otwórz Zaawansowany Edytor w Power Query.
  2. Wklej poniższy kod M i kliknij Gotowe:
let
    // Wczytanie plików z folderu
    Source = Folder.Files("C:\Users\gp\Desktop\PQ\Months"),
    
    // Dodanie kolumny, która otworzy zawartość pliku Excel
    AddContent = Table.AddColumn(Source, "Custom", each Excel.Workbook([Content])),
    
    // Rozwinięcie zawartości, aby zobaczyć wszystkie dane
    ExpandContent = Table.ExpandTableColumn(AddContent, "Custom", {"Name", "Data"}, {"File Name", "Data"})

in
    ExpandContent
  1. Po zastosowaniu kodu zobaczysz tabelę z nową kolumną Data.
  • Krok 3: Rozwinięcie zawartości tabel
  1. Kliknij ikonę rozwinięcia obok kolumny Data, aby zobaczyć pełne dane z plików.
  2. Upewnij się, że wszystkie kolumny z różnych plików są widoczne.
  • Krok 4: Usunięcie zbędnych kolumn
  1. Sprawdź tabelę i usuń niepotrzebne kolumny (np. kolumny techniczne dotyczące plików, które nie są wymagane do analizy).
  2. Kliknij Przekształć → Usuń kolumny i usuń zbędne kolumny.
  • Krok 5: Nadanie nazw kolumnom
  1. Ustaw własne nazwy kolumn zgodnie ze spójnym formatem (np. Total Sale → Sales).
  2. Kliknij Przekształć → Zmień nazwę kolumny dla każdej kolumny, aby nadać im jednolitą strukturę.
  • Krok 6: Usunięcie zbędnych wierszy (powtórzeń nagłówków)
  1. Zastosuj filtr na kolumnie zawierającej wartości sprzedaży.
  2. Usuń wiersze zawierające powtórzenia nagłówków, które mogą występować z powodu łączenia wielu plików.
  3. Kliknij Przekształć → Usuń wiersze → Usuń duplikaty lub zastosuj filtr manualnie.
  • Krok 7: Automatyczne odświeżanie danych
  1. Przejdź do Dane → Właściwości zapytania → Odświeżaj dane przy otwieraniu pliku.
  2. Możesz także ustawić automatyczne odświeżanie co X minut.
  3. Jeśli dodasz nowy plik do folderu (np. Sales_Apr.xlsx), Power Query automatycznie pobierze dane z nowego pliku po odświeżeniu!

Zadanie

  • ✔ Załaduj i połącz dane z Sales_Jan.xlsx, Sales_Feb.xlsx, Sales_Mar.xlsx.
  • ✔ Ujednolić nazwy kolumn i przekształcić dane w jednolity format.
  • ✔ Usuń puste wiersze, zbędne kolumny i duplikaty.
  • ✔ Ustaw automatyczne odświeżanie, aby nowe pliki były automatycznie dołączane.
  • ✔ Skorzystaj z ChatGPT do optymalizacji kodu M w Power Query.


Modul 7: Optymalizacja Wydajnosci Zapytan w Power Query

Cel

W tym module nauczysz się:

  • ✔ Jak przyspieszyć działanie Power Query w przypadku dużych zbiorów danych.
  • ✔ Jak unikać nieefektywnych operacji, które spowalniają zapytania.
  • ✔ Jak korzystać z funkcji buforowania i operacji na poziomie bazy danych.
  • ✔ Jak minimalizować ilość przetwarzanych danych dla lepszej wydajności.

Wprowadzenie

Power Query pozwala na transformację danych, ale przy dużych zbiorach może działać wolno. W tym module nauczysz się optymalnych praktyk, które pozwolą skrócić czas przetwarzania zapytań.

Instrukcje

  • Krok 1: Unikanie niepotrzebnych operacji na całym zbiorze danych
  1. Wczytaj duży plik CSV 📂Media:PQSales_Large.csv.
  2. Sprawdź liczbę wierszy i kolumn – im więcej danych, tym większe znaczenie ma optymalizacja.
  3. Usuń zbędne kolumny na początku zapytania, zamiast na końcu.
  4. Użyj Filtrowania wczesnego – zastosuj filtr, aby ograniczyć liczbę przetwarzanych wierszy od razu po imporcie.
  • Krok 2: Używanie funkcji buforowania (Table.Buffer)
  1. Sprawdź, jak działa przetwarzanie kroków – każda operacja może powodować ponowne przeliczenie całego zapytania.
  2. Dodaj krok Table.Buffer() po filtrze, aby zapobiec ponownemu przetwarzaniu danych:
let
    Source = Csv.Document(File.Contents("C:\Users\gp\Desktop\PQ\Sales_Large.csv"),[Delimiter=",", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    FilteredRows = Table.SelectRows(Source, each [Cost] > 500),
    BufferedData = Table.Buffer(FilteredRows)
in
    BufferedData

Zastosowanie Table.Buffer() powoduje, że Power Query zapisuje wyniki kroku w pamięci, zamiast ponownie przeliczać je w kolejnych krokach.

  • Krok 3: Minimalizacja liczby wczytywanych wierszy
  1. Jeśli pracujesz z dużą bazą danych lub plikami CSV, załaduj tylko potrzebne kolumny i wiersze.
  2. Zamiast pobierać wszystkie dane, użyj funkcji Keep Top Rows do pobrania np. pierwszych 1000 wierszy dla testów.
  3. Użyj funkcji Remove Duplicates na wczesnym etapie, aby zmniejszyć liczbę przetwarzanych danych.
  • Krok 4: Optymalizacja połączeń z bazą danych
  1. Jeśli pracujesz z SQL Server, Power BI lub inną bazą danych, unikaj pobierania całej tabeli do Power Query.
  2. Zamiast tego, filtrowanie i grupowanie wykonuj na poziomie bazy danych za pomocą przekształceń natywnych SQL.

Przykład:

let
    Source = Sql.Database("ServerName", "DatabaseName", [Query="SELECT OrderID, OrderDate, Customer, Product FROM Sales WHERE Cost > 500"])
in
    Source

Dzięki temu Power Query pobierze już przefiltrowane dane, zamiast filtrować całą tabelę w pamięci.

  • Krok 5: Unikanie operacji „drill-down” na dużych zbiorach danych
  1. Power Query często automatycznie sugeruje „drill-down” (np. wybór pojedynczej wartości z tabeli).
  2. Jeśli wykonujesz operację na dużych zbiorach, staraj się pracować na całych tabelach, zamiast przekształcać pojedyncze rekordy.
  • Krok 6: Automatyczne odświeżanie zoptymalizowanych zapytań
  1. Po zoptymalizowaniu zapytania, ustaw odświeżanie w Excelu lub Power Query, aby aktualizowało się w odpowiednich interwałach.
  2. W Excelu przejdź do Dane → Właściwości zapytania → Odświeżaj dane przy otwieraniu pliku.

Zadanie

  1. Wczytaj duży plik CSV (PQSales_Large.csv).
  2. Ogranicz liczbę wczytywanych wierszy i kolumn.
  3. Zastosuj Table.Buffer() i sprawdź różnicę w wydajności.
  4. Jeśli korzystasz z bazy danych, zoptymalizuj zapytanie SQL.
  5. Ustaw automatyczne odświeżanie zoptymalizowanego zapytania.
  6. Skorzystaj z ChatGPT do analizy wydajności i dalszej optymalizacji kodu M.


Moduł 8: Tworzenie dynamicznych raportów i paneli w Excelu z Power Query

Cel ćwiczenia

W tym module nauczysz się:

  • ✔ Jak wykorzystać Power Query do dynamicznego generowania raportów.
  • ✔ Jak łączyć dane z różnych źródeł w jednym raporcie.
  • ✔ Jak tworzyć interaktywne raporty przy użyciu tabel przestawnych.
  • ✔ Jak zautomatyzować odświeżanie raportów w Excelu.

Dostarczone dane

Do tego ćwiczenia użyjemy następujących plików:

Instrukcje

  • Krok 1: Importowanie danych i łączenie źródeł*
  1. Otwórz Power Query w Excelu.
  2. Zaimportuj pliki PQ_Sales_Data.xlsx, PQ_Regions.xlsx i PQ_Targets.xlsx.
  3. Połącz dane ze sobą, używając klucza wspólnego – np. kolumny "Region".
  4. Sprawdź, czy dane są poprawnie połączone i wyświetlają się we właściwym formacie.
  • Krok 2: Tworzenie dynamicznego raportu*
  1. Kliknij Zamknij i Załaduj do... i wybierz Tabelę przestawną.
  2. Wstaw tabelę przestawną w nowym arkuszu i upewnij się, że źródłem danych jest Power Query.
  3. W polach tabeli przestawnej ustaw:
 * Wiersze → Region.
 * Kolumny → Miesiąc.
 * Wartości → Suma Sprzedaży.
  1. Sprawdź poprawność wyników i sformatuj tabelę.
  • Krok 3: Dodanie warunkowego formatowania*
  1. Wybierz kolumnę "Suma Sprzedaży" w tabeli przestawnej.
  2. Kliknij Formatowanie warunkowe → Skalowanie kolorów.
  3. Ustaw gradientowe kolory dla niskiej i wysokiej sprzedaży.
  4. Zastosuj regułę "Większe niż" i podświetl wartości powyżej celu sprzedażowego (dane z PQ_Targets.xlsx).
  • Krok 4: Automatyzacja odświeżania danych*
  1. Przejdź do Dane → Właściwości zapytania → Odświeżaj dane przy otwieraniu pliku.
  2. Możesz także ustawić odświeżanie automatyczne co X minut.
  3. Sprawdź, czy po dodaniu nowych danych do plików źródłowych raport aktualizuje się poprawnie.

Zadanie

  1. Załaduj i połącz dane z PQ_Sales_Data.xlsx, PQ_Regions.xlsx i PQ_Targets.xlsx.
  2. Utwórz tabelę przestawną i sformatuj dane dynamicznie.
  3. Dodaj warunkowe formatowanie na podstawie celów sprzedażowych.
  4. Ustaw automatyczne odświeżanie danych.
  5. Skorzystaj z ChatGPT do analizy i optymalizacji zapytań Power Query.