Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power Query w Power BI
Wyświetl zapytanie natywne jest wyszarzone - składanie zapytania przerwane
Pozycja Wyświetl zapytanie natywne w menu kroku to najprostszy test składania zapytań (ang. query folding), czyli zamiany kroków Power Query na jedno zapytanie wykonywane przez bazę danych. Gdy jest wyszarzona, część pracy przeszła z serwera na Twój komputer. Pokazujemy, jak znaleźć krok, który przerwał składanie, jak go przestawić i kiedy wyszarzona opcja nie świadczy o problemie.
W Power BI Desktop klikasz prawym przyciskiem ostatni krok na liście Zastosowane kroki, a pozycja Wyświetl zapytanie natywne jest szara i nie da się jej wybrać. Na wcześniejszych krokach była aktywna i otwierała okno z kodem SQL. Komunikatu o błędzie nie ma, a skutek widać po czasie odświeżania i ilości pobieranych danych.
W lekcji o składaniu zapytań na tabeli FaktSprzedaz z SQL Server filtr, usunięcie kolumn i grupowanie złożyły się w jedno zapytanie SQL. Serwer zwracał 15 wierszy, po jednym na sklep, zamiast 11 669 linii sprzedaży. Po dodaniu kolumny indeksu pozycja Wyświetl zapytanie natywne na nowym kroku stała się wyszarzona.

Składanie zaczyna się od źródła i obejmuje kolejne kroki. Dopóki krok da się wyrazić w języku źródła, Power Query dopisuje go do zapytania wysyłanego do bazy. Krok, którego źródło nie umie wykonać, przerywa składanie, a od niego dalsze kroki liczy silnik Power Query na komputerze. Zwykle przerywają je kolumna indeksu, scalanie zapytań z dwóch różnych źródeł, funkcje niestandardowe wywoływane dla każdego wiersza, część operacji tekstowych i kolumn z przykładów, Table.Buffer oraz własna instrukcja SQL wpisana w oknie łącznika bez opcji EnableFolding.
Microsoft opisuje to tak: jeśli opcja jest wyłączona na kroku, a źródło normalnie ją udostępnia, utworzyłeś krok, który zatrzymuje składanie. Dostępność polecenia zależy jednak od łącznika. Przy źródle, które tej opcji nie obsługuje, wyszarzenie nie mówi nic o składaniu. Pliki CSV, Excel i foldery nie składają się wcale, bo nie mają silnika, który mógłby wykonać krok.
Ten sam krok szkodzi różnie zależnie od miejsca. Indeks dodany do 15 pogrupowanych wierszy nie ma znaczenia. Ten sam indeks przed filtrem zmusza Power Query do pobrania całej tabeli i przefiltrowania jej lokalnie.
EnableFolding, umieść w niej jak najwięcej logiki, bo kolejnych kroków silnik już nie złoży.Po zmianie kolejności kliknij prawym przyciskiem ostatni krok, który ma się składać, i wybierz Wyświetl zapytanie natywne. W oknie Zapytanie natywne filtr powinien być widoczny jako where, wybrane kolumny jako lista w select, a grupowanie jako sum i group by, tak jak w lekcji o składaniu. Porównaj też czas odświeżenia przed zmianą i po niej, a przy wątpliwościach powtórz Diagnozuj krok.
Żeby problem nie wracał, buduj zapytania do baz w stałej kolejności: najpierw filtry i wybór kolumn, potem grupowanie i scalania w obrębie tej samej bazy, na końcu indeksy, kolumny z przykładów i scalenia z plikami. Po każdym nowym kroku zajrzyj do menu kroku i sprawdź, czy opcja nadal jest aktywna.
Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query
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...