Power Query & M Language Essentials: Difference between revisions
												
				Jump to navigation
				Jump to search
				
No edit summary  | 
				Lsokolowski1 (talk | contribs) mNo edit summary  | 
				||
| Line 146: | Line 146: | ||
----  | ----  | ||
{{Cat|Power Query|002}}  | |||
Latest revision as of 11:47, 14 March 2025
Power Query & M Language Essentials
Moduł 1: Wprowadzenie do Power Query i języka M
Co to jest Power Query i gdzie jest wykorzystywane?
- Power Query to narzędzie ETL (Extract, Transform, Load) wbudowane w Excela i Power BI.
 - Umożliwia pobieranie, przekształcanie i ładowanie danych z różnych źródeł.
 - Automatyzacja procesów przetwarzania danych poprzez zapis transformacji.
 
Interfejs Power Query w Excelu i Power BI
- Power Query w Excelu dostępne jest w zakładce Dane → Pobierz i przekształć dane.
 - W Power BI znajduje się w Power Query Editor.
 - Kluczowe elementy interfejsu:
- Edytor zapytań
 - Pasek formuł
 - Lista kroków transformacji
 
 
Język M - podstawowe informacje
- Język M to język funkcjonalny, wykorzystywany do definiowania transformacji danych w Power Query.
 - Automatycznie generowany podczas korzystania z interfejsu Power Query.
 - Możliwość ręcznego edytowania skryptu w Zaawansowanym edytorze.
 
Skąd bierze się kod M w Power Query?
- Każda operacja wykonywana w Power Query jest zapisywana jako kod M.
 - Możemy zobaczyć kod M w Zaawansowanym edytorze.
 - Edycja kodu pozwala na większą elastyczność i optymalizację zapytań.
 
Struktura skryptu w języku M
- Każdy skrypt w M składa się z:
- Źródła danych – np. Excel.Workbook, Csv.Document.
 - Przekształceń – np. Table.TransformColumns, Table.SelectRows.
 - Ostatecznego wyniku – przypisanego do zmiennej in.
 
 
Ćwiczenie: Wczytanie danych z pliku CSV i podejrzenie kodu M
- Otwórz Excel lub Power BI.
 - Załaduj dane z pliku CSV przez Dane → Pobierz dane → Z pliku → Z pliku CSV.
 - Przejdź do Power Query i zobacz listę operacji w oknie edytora.
 - Otwórz Zaawansowany Edytor i sprawdź kod M.
 - Zmień nazwę kolumny, a następnie sprawdź, jak zmienił się kod.
 
Moduł 2: Składnia i podstawowe operacje w języku M
Składnia języka M
- Język M jest językiem funkcjonalnym, opartym na definicji wyrażeń.
 - Każdy krok w Power Query jest reprezentowany jako oddzielna zmienna.
 - Struktura kodu M:
- Każdy skrypt zaczyna się od sekcji let, gdzie definiujemy zmienne i operacje.
 - Ostatnia wartość w sekcji in wskazuje, co zostanie zwrócone jako wynik.
 
 
Podstawowe typy danych w języku M
- Liczby – całkowite i zmiennoprzecinkowe.
- Przykłady:
123– liczba całkowita45.67– liczba zmiennoprzecinkowa
 
 - Przykłady:
 - Teksty – operacje na ciągach znaków.
- Przykłady:
"Hello World"– zwykły ciąg znakówText.Upper("hello")→ "HELLO"
 
 - Przykłady:
 - Daty i czas – funkcje do manipulacji datami.
- Przykłady:
#date(2024, 3, 1)→ 1 marca 2024#datetime(2024, 3, 1, 10, 30, 0)→ 1 marca 2024, 10:30:00
 
 - Przykłady:
 - Listy – sekwencje wartości.
- Przykłady:
{1, 2, 3, 4}– lista liczb{"A", "B", "C"}– lista tekstów
 
 - Przykłady:
 - Tabele – podstawowy format danych w Power Query.
- Przykład:
 
 
Table.FromRecords({
    [Imię="Jan", Wiek=30],
    [Imię="Anna", Wiek=25]
})
- Rekordy – struktury podobne do obiektów JSON.
- Przykład:
 
 
[Imię="Jan", Wiek=30, Miasto="Warszawa"]
Operacje na danych
- Filtrowanie danych – 
Table.SelectRows - Sortowanie danych – 
Table.Sort - Zmiana typów danych – 
Table.TransformColumnTypes - Łączenie kolumn – 
Table.CombineColumns - Dzielenie kolumn – 
Table.SplitColumn 
Ćwiczenie: Tworzenie niestandardowej kolumny
- Załaduj dane do Power Query.
 - Dodaj nową kolumnę za pomocą opcji "Dodaj kolumnę niestandardową".
 - Użyj wyrażenia M do stworzenia nowej wartości (np. 
Text.Upper([NazwaKolumny])). - Zatwierdź operację i zobacz wynik.
 
Moduł 3: Funkcje w języku M
Wbudowane funkcje w języku M
- Funkcje tekstowe:
Text.Upper("hello")→ "HELLO"Text.Lower("HELLO")→ "hello"Text.Length("Power Query")→ 11
 
- Funkcje numeryczne:
Number.Round(12.345, 2)→ 12.35Number.Abs(-10)→ 10Number.Sqrt(16)→ 4
 
- Funkcje daty i czasu:
Date.Year(#date(2024, 3, 1))→ 2024Date.Month(#date(2024, 3, 1))→ 3Date.Day(#date(2024, 3, 1))→ 1
 
Tworzenie własnych funkcji w języku M
- Funkcje mogą być definiowane przy użyciu 
=> - Przykład funkcji obliczającej kwadrat liczby:
 
(x as number) => x * x
Moduł 4: Zaawansowane transformacje i optymalizacja zapytań
Optymalizacja kodu M
- Minimalizowanie liczby kroków transformacji
 - Używanie funkcji Buffer dla optymalizacji operacji na dużych zbiorach danych
 - Unikanie konwersji typów na końcowym etapie przetwarzania
 
Obsługa błędów
- try ... otherwise – obsługa wyjątków w języku M
- Przykład:
 
 
try 1 / 0 otherwise "Błąd: Dzielenie przez zero"
- Zwraca: Błąd: Dzielenie przez zero
 
Łączenie danych z wielu źródeł
- Append Queries – dodawanie wierszy z innych tabel
 - Merge Queries – łączenie tabel na podstawie wspólnego klucza
 
Ćwiczenie: Łączenie tabel i obsługa błędów
- Załaduj dwie tabele do Power Query.
 - Połącz tabele za pomocą funkcji Merge Queries.
 - Wprowadź obsługę błędów przy użyciu try ... otherwise.
 - Zatwierdź operację i sprawdź wynik.