Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
W skrócieDataflow Gen2 to Power Query w przeglądarce, który zapisuje wynik do miejsca docelowego, na przykład tabeli w Lakehouse, i odświeża się według harmonogramu. Budujemy przepływ od plików w OneDrive przez czyszczenie i scalanie do tabeli w Lakehouse, sprawdzamy wynik SQL-em i ustawiamy codzienne odświeżanie.
Ta lekcja jest częścią bezpłatnego kursu Power Query - czternastu lekcji od pierwszego zapytania w Excelu do przepływu danych w Microsoft Fabric i pracy z Copilotem. To lekcja 12 z 14.
Spis lekcji bezpłatnego kursu Power QueryMicrosoft Fabric to platforma analityczna, w której w jednym miejscu są magazyny danych, notatniki, potoki i raporty Power BI. Power Query występuje w niej jako Dataflow Gen2, w polskim interfejsie Przepływ danych (Gen2). To ten sam edytor, ten sam język M i prawie te same przyciski, tylko w przeglądarce. Różnica jest w tym, co dzieje się z wynikiem: zamiast trafić do arkusza albo jednego raportu, zapisuje się do miejsca docelowego, na przykład tabeli w Lakehouse, z której może korzystać wiele raportów, notatników i zespołów naraz.
Pokażemy, jak odtworzyć w Fabric ten sam przepływ co w Excelu: połączyć miesięczne pliki CSV, oczyścić je, scalić z katalogiem produktów, zapisać wynik w Lakehouse i ustawić codzienne odświeżanie. Wszystkie zrzuty pochodzą z obszaru roboczego na bezpłatnej, 60-dniowej wersji próbnej Fabric.
Dataflow Gen2 działa tylko w obszarze roboczym przypisanym do pojemności Fabric. Bez płatnej pojemności możesz skorzystać z wersji próbnej. W Fabric kliknij Obszary robocze > Nowy obszar roboczy, wpisz nazwę i w sekcji typu obszaru wybierz Wersja próbna platformy Fabric.

W obszarze roboczym utwórz Lakehouse: Nowy element > Lakehouse, nazwa NordvellaLH. Pole Schematy usługi Lakehouse jest domyślnie zaznaczone, dlatego tabele trafią do schematu dbo. Zapamiętaj to, przyda się w kroku 6.

W obszarze roboczym kliknij Nowy element i wpisz w wyszukiwarce Dataflow. Wybierz kartę Przepływ danych (Gen2). Karta Przepływ danych 1. generacji ma znacznik Starsza wersja: to poprzednia generacja z usługi Power BI, która nie zapisuje wyników do Lakehouse i nie ma nowych funkcji.

Fabric poprosi o nazwę. Pierwsza pułapka: nazwa przepływu nie może zawierać polskich liter. Po wpisaniu „Nordvella sprzedaż" pole robi się czerwone, a przycisk Utwórz zostaje nieaktywny. Według reguły walidacji nazwa może zawierać tylko litery, cyfry, białe znaki i znaki ( ) [ ] { } + - = _ #. Nazwaliśmy przepływ Nordvella sprzedaz.

Po utworzeniu otworzy się pusty edytor Power Query. Układ jest ten sam co w Excelu i Power BI: wstążka z kartami Narzędzia główne, Transformacja, Dodaj kolumnę, Widok, panel zapytań, siatka danych i ustawienia zapytania. Na pustym płótnie Fabric proponuje szybkie importy (z Excela, SQL Server, pliku tekstowego, innych przepływów), link Pobierz dane z innego źródła oraz Importowanie z szablonu dodatku Power Query.

Tu jest najważniejsza różnica między Power Query w chmurze a na komputerze. Dataflow Gen2 działa na serwerach Microsoftu i nie widzi Twojego dysku C:\. Do lokalnych plików i baz w sieci firmowej dostanie się tylko przez lokalną bramę danych (ang. on-premises data gateway), czyli program instalowany na komputerze w sieci firmy. Prościej jest przenieść pliki do OneDrive albo biblioteki SharePoint. Wgraliśmy cztery pliki CSV do folderu Nordvella/Sprzedaz_miesieczna w OneDrive dla firm.
1. Kliknij Pobierz dane z innego źródła (albo przycisk Pobierz dane na wstążce) i wyszukaj SharePoint. OneDrive dla firm jest technicznie witryną SharePoint, dlatego wybierasz łącznik Folder programu SharePoint.

2. W polu Adres URL witryny wpisz adres główny swojego OneDrive (nie folderu), w postaci https://twojafirma-my.sharepoint.com/personal/twoje_konto/. Najłatwiej skopiować go z paska adresu przeglądarki po otwarciu OneDrive. Fabric utworzy nowe połączenie: nadaj mu nazwę, jako Rodzaj uwierzytelniania zostaw Konto organizacyjne i kliknij Następne.

3. Łącznik zwraca listę wszystkich plików z całego OneDrive, nie tylko z jednego folderu, co widać już w oknie Podgląd danych folderu. Kliknij w nim zielony przycisk Utwórz, a w edytorze otwórz filtr kolumny Folder Path i wybierz Filtry tekstu > Zawiera. Wpisz Sprzedaz_miesieczna.


Table.SelectRows(Źródło, each Text.Contains([Folder Path], "Sprzedaz_miesieczna")).4. Kliknij ikonę z dwiema strzałkami w nagłówku kolumny Content. Otworzy się znane już okno Połącz pliki z tymi samymi ustawieniami co w Excelu: kodowanie 65001: Unicode (UTF-8), ogranicznik Średnik, wykrywanie typu na podstawie pierwszych 200 wierszy.

Po połączeniu powstaje ta sama struktura zapytań pomocniczych: Przykładowy plik, Parametr, Przekształć element Przykładowy plik i funkcja Przekształć plik. W zapytaniu przykładowym wykonaj te same kroki co w Excelu: Usuń wiersze > Usuń początkowe wiersze (3), Użyj pierwszego wiersza jako nagłówków, filtr kolumny Data bez pustych wartości i bez „Razem".


"pl", dzięki czemu polskie daty i przecinki dziesiętne są czytane poprawnie.W zapytaniu głównym sprzedaz pojawi się dokładnie ten sam błąd, który znasz z Excela: Nie można znaleźć kolumny „Column1" w tabeli, bo automatyczny krok zmiany typu pamięta stare nazwy kolumn. Naprawa jest ta sama: usuń ten krok i ustaw typy ponownie.

Power Query Online ma dwa udogodnienia, których brakuje w Excelu. Pierwsze to Widok diagramu na karcie Widok: graficzna mapa zapytań, w której każde zapytanie jest kafelkiem z liczbą kroków, a linie pokazują, co z czego korzysta.

Drugie to wskaźniki składania zapytań przy krokach na liście Zastosowane kroki. Najechanie na ikonę przy kroku pokazuje, czy krok wykona źródło danych, czy Power Query. Przy naszym źródle wszystkie kroki mają ten sam komunikat:


Druga linia podpowiedzi dotyczy szybkiego kopiowania (ang. Fast Copy): przy dużych tabelach z obsługiwanych źródeł Dataflow Gen2 potrafi skopiować dane bezpośrednio, z pominięciem silnika Power Query, co przyspiesza ładowanie. Folder SharePoint do takich źródeł nie należy.
Przy plikach to normalne, bo plik nie ma silnika, który mógłby wykonać filtr. Przy bazach danych te same wskaźniki pokazują, które kroki zamieniły się w zapytanie SQL, a który zerwał składanie. Na czym polega składanie i dlaczego ma tak duży wpływ na szybkość, tłumaczymy w lekcji o query folding.
Katalog produktów pobraliśmy łącznikiem Skoroszyt programu Excel (strzałka przy Pobierz dane na wstążce), wybierając opcję Link do pliku i podając adres pliku Nordvella_slowniki.xlsx w OneDrive, i w nawigatorze wybraliśmy tabelę tProdukty. Potem w zapytaniu sprzedaz kliknęliśmy Scal zapytania.

Po zatwierdzeniu zamiast danych pojawi się żółty pasek Wymagane są informacje dotyczące prywatności danych. To jest mechanizm poziomów prywatności, o którym pisaliśmy przy błędzie Formula.Firewall: łączysz dane z dwóch źródeł (folder i skoroszyt), więc Power Query pyta, czy wolno je ze sobą zestawiać.


Dla obu źródeł wybraliśmy Organizacyjne i zapisaliśmy. Potem rozwinęliśmy kolumnę tProdukty, wybierając Nazwa produktu, Kategoria i Marka.

Table.ExpandTableColumn(#"Scalone zapytania", "tProdukty", {"Nazwa produktu", "Kategoria", "Marka"}, ...).To krok, którego nie ma w Excelu ani w Power BI Desktop. W prawym dolnym rogu, w sekcji Miejsce docelowe danych panelu ustawień zapytania, kliknij plus. Menu pokazuje najczęstsze miejsca docelowe i pozycję Więcej....


1. Wybierz Lakehouse. Po wskazaniu połączenia zobaczysz drzewo obszarów roboczych. Rozwiń obszar, Lakehouse NordvellaLH i zaznacz schemat dbo. Na górze zostaw Nowa tabela i wpisz nazwę sprzedaz.

2. Na ekranie ustawień zobaczysz mapowanie kolumn zapytania na kolumny tabeli z typami danych. Zwróć uwagę na komunikat u góry: Aby zwiększyć wydajność ładowania danych do miejsca docelowego, wyłączymy przemieszczanie dla zapytania źródłowego. Przemieszczanie (ang. staging) to pośredni zapis wyniku zapytania w magazynie przepływu. Dla zapytania, które ma własne miejsce docelowe, Fabric je wyłącza, żeby szybciej zapisać dane.

3. Po wyłączeniu przełącznika Użyj ustawień automatycznych widać dwie decyzje. Metoda aktualizacji: Zastąp nadpisuje tabelę przy każdym uruchomieniu, Dołącz dopisuje nowe wiersze do istniejących. Opcje schematu podczas publikowania: Schemat dynamiczny dopasowuje tabelę do zmian kolumn w zapytaniu, a Poprawiony schemat trzyma ją w obecnym kształcie.

Przepływ danych nie liczy się sam w trakcie edycji. Żeby zapisać tabelę w Lakehouse, rozwiń pierwszy przycisk na wstążce i wybierz Zapisz i uruchom.

Wynik uruchomienia sprawdzisz w oknie Ostatnie uruchomienia (ikona zegara na wstążce). Nasze pierwsze uruchomienie zakończyło się powodzeniem w 50 sekund.


Tabelę zobaczysz w Lakehouse. Podgląd pokazuje najwyżej 1000 wierszy, więc liczba wierszy pod siatką to limit podglądu, a nie rozmiar tabeli. Prawdziwą liczbę sprawdzisz zapytaniem SQL w punkcie końcowym analizy SQL, który Fabric tworzy automatycznie dla każdego Lakehouse.


SELECT COUNT(*) w punkcie końcowym analizy SQL: 9256 wierszy, czyli wszystkie linie paragonów z czterech plików.Uważny czytelnik zauważy, że w Excelu mieliśmy 9250 wierszy. W przepływie w Fabric celowo pominęliśmy kroki z lekcji o poprawianiu tekstu i duplikatach, żeby pokazać, co się dzieje bez nich. Jedno zapytanie SQL na tabeli wynikowej od razu ujawnia skutki:

Różnica między 9256 a 9250 wierszami to 6 zdublowanych linii z pliku lutowego, które w Excelu usunęło polecenie Usuń duplikaty. To dobry argument, żeby nawet w chmurze nie oszczędzać na czyszczeniu. Kroki przycięcia, ujednolicenia wielkości liter i usunięcia duplikatów dodajesz w Dataflow Gen2 tymi samymi przyciskami (karta Transformacja > Format i Usuń wiersze > Usuń duplikaty), a kolejne uruchomienie zastąpi tabelę poprawnymi danymi.
W obszarze roboczym kliknij wielokropek przy przepływie, wybierz Harmonogram, a potem Dodaj harmonogram. Ustaw cykl, porę dnia i strefę czasową. Domyślnie formularz podpowiada strefę (UTC+01:00) Bruksela, Kopenhaga, Madryt, Paryż. Dla Polski wybierz (UTC+01:00) Sarajewo, Skopje, Warszawa, Zagrzeb.

Nad listą harmonogramów jest sekcja Powiadomienia o błędach, w której wpiszesz osoby, które mają dostać maila, gdy odświeżenie się nie uda. Po zapisaniu harmonogram dostaje znacznik Aktywni i informację o następnej aktualizacji. Jeśli raport w Power BI korzysta z tabeli w Lakehouse, nie musi już odświeżać źródeł sam: dane przygotowuje przepływ, a model semantyczny tylko je czyta. Przy wielu przepływach i zależnościach (najpierw słowniki, potem sprzedaż, na końcu model) kolejność ustalisz w potoku danych (Data Pipeline), w którym przepływ jest jednym z działań.
Do przygotowania danych w Fabric służą też inne narzędzia. Przy bardzo dużych danych albo logice trudnej do wyklikania lepiej sprawdzają się notatniki ze Sparkiem (Python, PySpark), a gdy dane już leżą w magazynie Warehouse, przekształcenia napiszesz w SQL. Dataflow Gen2 wygrywa tam, gdzie liczy się szybkie, czytelne przekształcenie danych z wielu różnych źródeł bez programowania i gdzie przepływ ma utrzymywać analityk, a nie programista.
Na wstążce Dataflow Gen2 jest przycisk Copilot, który przyjmuje polecenia w języku naturalnym, na przykład dodanie kolumny albo filtra. Na pojemności próbnej nie działa:

Copilot w Fabric wymaga płatnej pojemności i włączonego ustawienia Copilota w portalu administracyjnym Fabric. Bez niego przepływy buduje się dokładnie tak, jak pokazaliśmy: przyciskami i kodem M. Jak Copilot pracuje w tym samym przepływie na płatnej pojemności, pokazujemy w następnej lekcji, o Copilocie w Power Query.
Poprzednia lekcja
Lekcja 11: Query folding i odświeżanie przyrostowe w Power BINastępna lekcja
Lekcja 13: Copilot w Power Query (Dataflow Gen2)
Szkolenie Power BI - Desktop, DAX i Online --> Pięć dni od pierwszego raportu do publikacji w usłudze Power BI: Power Query, model danych z wielu tabel, DAX, wizualizacje i Copilot. To szkolenie ma terminy gwarantowane.
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...