Wskaźniki składania zapytań
Uwaga
Przed przeczytaniem tego artykułu zalecamy zapoznanie się z artykułem Omówienie oceny zapytań i składania zapytań w dodatku Power Query , aby lepiej zrozumieć, jak działa składanie w dodatku Power Query.
Wskaźniki składania zapytań ułatwiają zrozumienie kroków, które składają się lub nie składają.
Dzięki wskaźnikom składania zapytań staje się oczywiste, gdy wprowadzasz zmianę, która przerywa składanie. Ta funkcja ułatwia szybkie rozwiązywanie problemów, unikanie problemów z wydajnością w pierwszej kolejności i lepsze wgląd w zapytania. W większości przypadków napotkasz kroki złożone lub nie składane. Istnieje jednak wiele przypadków, w których wynik nie jest tak oczywisty, a przypadki te są omawiane w wskaźnikach diagnostyki kroków (Dynamiczny, Nieprzezroczystych i Nieznanych).
Uwaga
Funkcja wskaźników składania zapytań jest dostępna tylko dla usługi Power Query Online.
Interpretowanie diagnostyki składania zapytań
Podczas badania wskaźnika składania zapytań obok kroku najważniejsze jest, aby zrozumieć, że stan diagnostyczny nie jest sekwencyjny. Innymi słowy, wskaźnik dla tego kroku opisuje, czy zapytanie jako całość, aż do tego punktu, składa się, czy nie. Jeśli masz wskaźnik, który pokazuje, że zapytanie nie składa się, a następnie wskaźnik, który pokazuje, że składa się, oznacza to, że zapytanie do tego punktu składa się.
Ta interpretacja działa nawet w przypadku prostego zapytania względem źródła SQL. Na przykład przy użyciu przykładowej bazy danych AdventureWorks połącz się z tabelą Production.Product i załaduj dane. Załadowanie tego przykładu za pomocą nawigatora dodatku Power Query daje następujące zapytanie:
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
Navigation
Jeśli sprawdzisz, jak ten kod jest wyświetlany w wskaźnikach składania zapytań, należy zauważyć, że pierwszy krok jest niejednoznaczny. Jednak drugi krok składa się, co oznacza, że zapytanie do tego punktu składa się.
W tym przykładzie nie można potwierdzić składania początkowych kroków (jest niejednoznaczny), ale ostatni krok wygenerowany podczas początkowego ładowania danych jest składany. Sposób obsługi pierwszych kroków (źródło, a czasami inne kroki nawigacji ) zależy od łącznika. Na przykład usługa SQL jest obsługiwana jako wartość tabeli wykazu, która nie jest składana. Jednak gdy tylko wybierzesz dane dla tego łącznika, składa się.
Z drugiej strony to wskazanie może również oznaczać, że zapytanie składa się do punktu, a następnie zatrzymuje składanie. W przeciwieństwie do sytuacji, gdy masz wskaźnik składania dla kroku, który pokazuje, że wszystko składa się, gdy nie ma wskaźnika składania, nie oznacza, że wszystko nie składa się. Zamiast tego oznacza to, że "nie wszystko" składa się. Ogólnie rzecz biorąc, wszystko do ostatnich składanych wskaźników składania, z większą większa liczba operacji wykonywanych po.
Zmodyfikowanie poprzedniego przykładu umożliwia przekształcenie, które nigdy nie składa się — wielką literą każdego wyrazu.
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
#"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
#"Capitalized each word"
W wskaźnikach składania zapytań masz te same wskaźniki co wcześniej, z wyjątkiem ostatniego kroku nie składa się. Cały ostatni krok jest wykonywany na źródle danych, podczas gdy ostatni krok jest wykonywany lokalnie.
Wskaźniki diagnostyczne kroków
Wskaźniki składania zapytań używają bazowego planu zapytania i wymagają, aby można było uzyskać informacje o zapytaniu w celu raportowania. Obecnie plan zapytania obsługuje tylko tabele, więc niektóre przypadki (listy, rekordy, typy pierwotne) nie zgłaszają się jako składanie lub nie. Podobnie tabele stałe raportują jako nieprzezroczyste.
Wskaźnik | Icon | opis |
---|---|---|
Składane | Wskaźnik składania informuje, że zapytanie do tego kroku jest oceniane przez źródło danych. | |
Nie składane | Wskaźnik not-folding informuje, że część zapytania do tego kroku jest oceniana poza źródłem danych. Możesz porównać go z ostatnim wskaźnikiem składania, jeśli istnieje, aby sprawdzić, czy można zmienić kolejność zapytania, aby było bardziej wydajne. | |
Może składać się | Mogą składać się wskaźniki są rzadkie. Oznaczają one, że zapytanie "może" składać się. Wskazują one, że składanie lub składanie jest określane w czasie wykonywania, podczas ściągania wyników z zapytania i że plan zapytania jest dynamiczny. Te wskaźniki prawdopodobnie pojawiają się tylko z połączeniami ODBC lub OData. | |
Nieprzezroczyste | Nieprzezroczyste wskaźniki informują, że wynikowy plan zapytania jest niejednoznaczny z jakiegoś powodu. Zazwyczaj wskazuje, że istnieje prawdziwa tabela "stała" lub że transformacja lub łącznik nie jest obsługiwany przez wskaźniki i narzędzie do planowania zapytań. | |
Nieznane | Nieznane wskaźniki reprezentują brak planu zapytania z powodu błędu lub próby uruchomienia oceny planu zapytania na innej niż tabela (np. rekord, lista lub pierwotny). |
Przykładowa analiza
Aby uzyskać przykładową analizę, zacznij od nawiązania połączenia z tabelą Production.Product w usłudze Adventure Works (SQL). Początkowe obciążenie podobne do początkowego przykładu wygląda jak na poniższej ilustracji.
Dodanie kolejnych kroków, które składają się rozszerzają zieloną linię po prawej stronie. To rozszerzenie występuje, ponieważ ten krok również składa się.
Dodanie kroku, który nie składa się, wyświetla inny wskaźnik. Na przykład wielką literą każdego słowa nigdy nie składa się. Wskaźnik zmienia się, pokazując, że od tego kroku przestał składać. Jak wspomniano wcześniej, poprzednie kroki nadal składają się.
Dodawanie kolejnych kroków podrzędnych, które zależą od capitalize każdego kroku , nadal nie składa się.
Jeśli jednak usuniesz kolumnę, do której zastosowano wielkie litery, tak aby zoptymalizowany plan zapytania mógł zostać złożony jeszcze raz, otrzymasz wynik podobny do poniższego obrazu. Jednak coś takiego jest nietypowe. Na tym obrazie pokazano, jak to nie tylko kolejność kroków, ale także rzeczywiste przekształcenia, które mają zastosowanie.