Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
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 ulegają składaniu lub nie.
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, zapobieganie problemom z wydajnością oraz lepszy wgląd w zapytania. W większości przypadków napotkasz schody, które się składają, lub takie, które się nie składają. Istnieje jednak wiele przypadków, w których wynik nie jest tak oczywisty, a przypadki te są omawiane w wskaźnikach diagnostycznych kroków (Dynamiczne, Nieprzezroczyste i Nieznane).
Uwaga / Notatka
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 całe zapytanie do tego punktu ulega złożeniu, czy nie. Jeśli masz wskaźnik wskazujący, że zapytanie się nie składa, a następnie wskaźnik pokazujący, że się składa, oznacza to, że zapytanie faktycznie składa się aż do tego punktu.
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 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.
W tym przykładzie, nie można potwierdzić, czy początkowe kroki się składają (jest to niejednoznaczne), ale ostatni krok, który generuje się podczas początkowego ładowania danych, faktycznie się składa. 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ę. W przeciwieństwie do sytuacji, gdy masz wskaźnik składania dla kroku, który pokazuje, że wszystko się składa, posiadanie wskaźnika nieskładania nie oznacza, że nic się nie składa. 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.
Krokowe wskaźniki diagnostyczne
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 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). |
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 się składają, powoduje wydłużenie zielonej linii po prawej stronie. To rozszerzenie występuje, ponieważ ten krok również zaciska się.
Dodanie kroku, który nie składa się, wyświetla 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ą.
Dodawanie kolejnych kroków podrzędnych, które zależą od Zamień każdy krok na wielką literę, nadal nie działa.
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 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 przedstawiono, że nie tylko kolejność kroków ma znaczenie, ale także rzeczywiste przekształcenia są istotne.