Wskaźniki składania zapytań

Uwaga / Notatka

Przed przeczytaniem tego artykułu przeczytaj omówienie oceny zapytań i składania zapytań w Power Query, aby lepiej zrozumieć, jak działa składanie w Power Query.

Wskaźniki składania zapytań pomagają zrozumieć, które kroki składają się, a które nie. Krok składa się, gdy Power Query przekształca swoje przekształcenia w zapytanie źródła danych i uruchamia je w źródle danych.

Gdy używasz wskaźników składania zapytań, staje się jasne, gdy wprowadzasz zmianę, która przerywa składanie. Ta funkcja ułatwia rozwiązywanie problemów, unikanie problemów z wydajnością i uzyskiwanie lepszego wglądu w zapytania. W większości przypadków kroki albo się zwijają, albo nie. Istnieje jednak wiele przypadków, w których wynik nie jest oczywisty. Sekcja Wskaźniki diagnostyczne etapów obejmuje następujące przypadki (Might fold, Opaque i Unknown).

Uwaga / Notatka

Funkcja wskaźników składania zapytań jest dostępna tylko dla usługi Power Query Online.

Interpretowanie diagnostyki składania zapytań

W Power Query Online wskaźnik składania zapytania obok kroku pokazuje, czy całe zapytanie, na tym etapie, podlega składaniu. Stan diagnostyczny nie jest sekwencyjny. Jeśli wskaźnik pokazuje, że zapytanie nie podlega składaniu, a następnie pojawia się wskaźnik pokazujący, że jednak podlega składaniu, oznacza to, że zapytanie do tego momentu podlega składaniu.

Ta interpretacja działa nawet w przypadku prostego zapytania względem źródła SQL. Na przykład połącz się z tabelą Production.Product w przykładowej bazie danych AdventureWorks, a następnie załaduj dane. Załadowanie tego przykładu przez nawigator 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 jest składany, co oznacza, że zapytanie aż do tego momentu również się składa.

Zrzut ekranu przedstawiający kroki źródłowe i nawigacyjne w okienku wskaźnika złożenia.

W tym przykładzie nie można potwierdzić, że początkowe kroki podlegają zwijaniu (są nierozstrzygające), ale ostatni krok wygenerowany podczas początkowego wczytywania danych podlega zwijaniu. Sposób obsługi pierwszych kroków (źródło, a czasami inne kroki nawigacji ) zależy od łącznika. Na przykład w przypadku języka SQL krok jest obsługiwany jako wartość tabeli katalogowej, która nie podlega zagnieceniu. Jednak gdy tylko wybierzesz dane dla tego łącznika, składa się.

Z drugiej strony to wskazanie może również oznaczać, że zapytanie osiąga pewien punkt, a następnie zatrzymuje się. Wskaźnik nie zwijania nie oznacza, że nic nie składa się. Zamiast tego oznacza to, że nie wszystko składa się. Ogólnie rzecz biorąc, wszystko do ostatniego wskaźnika składania się składa, z dodatkowe operacje wykonywane później.

Zmieniając poprzedni przykład, można zastosować przekształcenie, które nigdy się nie składa — początkowa wielka litera 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 tego, że ostatni krok się nie składa. Cały ostatni krok jest wykonywany na źródle danych, podczas gdy ostatni krok jest wykonywany lokalnie.

Zrzut ekranu przedstawiający kroki dotyczące źródła, nawigacji i kapitalizacji każdego wyrazu w okienku wskaźnika zwijania.

Krokowe wskaźniki diagnostyczne

Wskaźniki składania zapytań korzystają z bazowego planu wykonywania zapytania i wymagają, aby raportował on informacje o zapytaniu. Obecnie plan zapytania obsługuje tylko tabele, więc niektóre przypadki (listy, rekordy, typy prymitywne) nie są raportowane jako składane lub nie. Podobnie tabele stałe raportują jako nieprzezroczyste.

Wskaźnik Ikona Opis
Składane Wskaźnik składania informuje, że źródło danych ocenia zapytanie do tego kroku.
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 taki istnieje, aby sprawdzić, czy możesz przebudować zapytanie w celu poprawy jego wydajności.
Może składać się Wskaźniki potencjalnego składania są rzadkie. Oznaczają one, że zapytanie "może" składać się. Wskazują one, że składanie lub nieskładanie jest określane w czasie działania programu, podczas pobierania rezultató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 oznacza to, że istnieje prawdziwa tabela "stała" lub że wskaźniki i narzędzia planu zapytania nie obsługują tego przekształcenia ani łączników.
Nieznane Nieznane wskaźniki wskazują na brak planu zapytania, który może być spowodowany błędem lub próbą uruchomienia oceny planu zapytania na obiekcie innym niż tabela (np. rekord, lista lub typ prymitywny).

Analizuj wskaźniki składania zapytań

Aby przeanalizować wskaźniki składania zapytań, połącz się z tabelą Production.Product w bazie danych AdventureWorks (SQL). Po początkowym załadowaniu krok Źródło jest wyświetlany jako nierozstrzygnięty, a krok Nawigacja jako zwijanie, jak pokazano na poniższym obrazie.

Zrzut ekranu przedstawiający początkowe wskaźniki kroku ładowania tabeli Product.

Gdy dodajesz więcej zwijanych kroków, wydłużasz zieloną linię po prawej stronie. To rozszerzenie występuje, ponieważ ten krok również zaciska się.

Zrzut ekranu pokazujący, jak dodanie kroku usunięcia kolumny do poprzedniego zapytania wydłuża linię wskaźnika zielonego składania.

Gdy dodasz krok, który nie jest składany, zobaczysz inny wskaźnik. Na przykład Pisz każdą literę wielką literą, nigdy się nie zgina. Wskaźnik zmienia się, pokazując, że na tym etapie przestał się składać. Jak wspomniano wcześniej, poprzednie kroki nadal obowiązują.

Zrzut ekranu pokazujący, jak dodanie kroku

Po dodaniu kolejnych kroków, które zależą od Pisz Każde Słowo Wielką Literą, nadal nie podlegają składaniu.

Zrzut ekranu pokazujący, że składanie nie będzie miało miejsca po dodaniu kolejnych kroków.

Jeśli jednak usuniesz kolumnę, do której zastosowano zmianę wielkości liter, zoptymalizowany plan zapytania może ponownie ulec zwinięciu. W tym nietypowym wyniku końcowy krok składa się, mimo że wcześniejszy krok nie składa się, jak pokazano na poniższej ilustracji. Ten wynik ilustruje, w jaki sposób składanie zależy od kolejności kroków i przekształceń, które mają zastosowanie.

Zrzut ekranu przedstawiający, jak usunięcie problematycznej kolumny umożliwia złożenie elementów bez usuwania kroku.