Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Power Query ocenia zapytanie języka M w celu określenia danych i przekształceń wymaganych dla jego wyniku. Podczas oceny składanie zapytań próbuje przetłumaczyć obsługiwane przekształcenia na operacje, które może wykonać źródło danych. Przekształcenia, których nie można złożyć, są uruchamiane w silniku Power Query.
Co to jest skrypt Power Query M?
Skrypt M, nazywany również kodem M, jest zbiorem funkcji i składni języka formuł Power Query M, które są przetwarzane przez Power Query w celu uzyskania wyniku zapytania. Każde zapytanie ma skrypt języka M, niezależnie od tego, czy Power Query go utworzy, piszesz w edytorze zaawansowanym, czy wprowadzasz go w pustym zapytaniu.
Wskazówka
Skrypt języka M można traktować jako przepis opisujący sposób przygotowywania danych.
Najczęstszym sposobem tworzenia skryptu języka M jest użycie edytora Power Query. Na przykład po nawiązaniu połączenia ze źródłem danych, takim jak baza danych SQL Server, zwróć uwagę na to, że po prawej stronie ekranu znajduje się sekcja o nazwie zastosowane kroki. W tej sekcji przedstawiono wszystkie kroki lub przekształcenia używane w zapytaniu. W tym sensie edytor Power Query służy jako interfejs ułatwiający tworzenie odpowiedniego skryptu języka M dla żądanych przekształceń i zapewnia, że używany kod jest prawidłowy.
Uwaga / Notatka
Skrypt języka M jest używany w edytorze Power Query w celu:
- Pokaż zapytanie jako serię kroków i umożliwia tworzenie lub modyfikowanie kroków.
- Pokaż widok diagramu.
W tym przykładzie SQL Server okienko Zastosowane kroki zawiera następujące kroki:
- Źródło: nawiązuje połączenie ze źródłem danych. W takim przypadku jest to połączenie z bazą danych SQL Server.
- Nawigacja: przechodzi do określonej tabeli w bazie danych.
- Usunięto inne kolumny: wybiera kolumny z tabeli, które mają być zachowywane.
- Posortowane wiersze: sortuje tabelę przy użyciu co najmniej jednej kolumny.
- Zachowane górne wiersze: filtruje tabelę, aby zachować tylko niektóre wiersze z początku tabeli.
Wyświetlanie i edytowanie skryptu języka M w Power Query
Ten zestaw nazw kroków to przyjazny sposób wyświetlania skryptu języka M, który Power Query utworzył dla Ciebie. Pełny skrypt języka M można wyświetlić na kilka sposobów. W Power Query wybierz Edytor zaawansowany na karcie Widok. Możesz również wybrać Edytor zaawansowany z grupy Query na karcie Narzędzia główne. W niektórych wersjach Power Query możesz także zmienić widok paska formuły tak, aby wyświetlić skrypt zapytania, przechodząc do karty Widok i wybierając w grupie Układ opcję Widok skryptu>Skrypt zapytania.
Większość nazw, które można znaleźć w okienku Zastosowane kroki, jest również używana w niezmienionej postaci w skrypcie języka M. Kroki zapytania można nazwać przy użyciu identyfikatorów w języku M. Czasami dodatkowe znaki otaczają nazwy kroków w języku M, ale te znaki nie są wyświetlane w zastosowanych krokach. Przykładem jest #"Kept top rows", który jest klasyfikowany jako identyfikator cytowany z powodu tych dodatkowych znaków. Identyfikator ujęty w cudzysłów pozwala używać jako identyfikatora dowolnego ciągu złożonego z zera lub większej liczby znaków Unicode, w tym słów kluczowych, znaków odstępu, komentarzy, operatorów i znaków interpunkcyjnych. Aby dowiedzieć się więcej o identyfikatorach w języku M, zobacz struktura leksykalna.
Wszelkie zmiany wprowadzone w zapytaniu za pośrednictwem edytora Power Query automatycznie aktualizują skrypt języka M dla zapytania. Jeśli na przykład zmienisz nazwę kroku Zachowaj pierwsze wiersze na 20 pierwszych wierszy, nazwa również zmieni się w widoku skryptu zapytania.
Mimo że zalecamy użycie edytora Power Query do utworzenia wszystkich lub większości skryptu języka M, możesz ręcznie dodać lub zmodyfikować fragmenty skryptu języka M. Aby dowiedzieć się więcej, zobacz dokumentację języka M.
W tym artykule skrypt języka M odwołuje się do kodu Power Query M w zapytaniu, do którego można uzyskać dostęp za pośrednictwem edytora zaawansowanego lub widoku skryptu zapytania na pasku formuły.
Jak Power Query ocenia zapytanie języka M
Power Query ocenia skrypt języka M, określając wymagane dane wyjściowe i sposób jego tworzenia. W przypadku zapytań korzystających z zewnętrznego źródła danych obliczanie obejmuje pobieranie danych ze źródła, przetwarzanie wszelkich przekształceń uruchamianych w silniku Power Query oraz ładowanie wyniku do miejsca docelowego.
Na poniższym diagramie przedstawiono proces, który występuje, gdy zapytanie jest oceniane w Power Query.
- Skrypt języka M znajdujący się w edytorze zaawansowanym jest przesyłany do silnika Power Query. Uwzględniono również inne ważne informacje, takie jak poświadczenia i poziomy prywatności źródła danych.
- Power Query określa, jakie dane należy wyodrębnić ze źródła danych i przesyła żądanie do źródła danych.
- Źródło danych odpowiada na żądanie z Power Query, przesyłając żądane dane do Power Query.
- Power Query odbiera dane przychodzące ze źródła danych i w razie potrzeby wykonuje wszelkie przekształcenia za pomocą silnika Power Query.
- Power Query ładuje przekształcony wynik do miejsca docelowego.
Uwaga / Notatka
Ten przepływ przedstawia zapytanie odczytane z bazy danych SQL Server. W przypadku zapytania bez zewnętrznego źródła danych Power Query nadal ocenia skrypt języka M i generuje wynik, ale etapy żądania i transferu źródła danych nie mają zastosowania.
Jak zwijanie zapytań optymalizuje przetwarzanie zapytań
Gdy Power Query odczytuje skrypt języka M, uruchamia skrypt za pośrednictwem procesu optymalizacji, aby wydajniej ocenić zapytanie. W tym procesie określa, które kroki (przekształcenia) z zapytania można przenieść do źródła danych. Określa również, które inne kroki należy ocenić przy użyciu silnika Power Query.
Ten proces optymalizacji jest nazywany składaniem zapytań. Składanie zapytań przekłada obsługiwane przekształcenia języka M na operacje, które może wykonywać źródło danych. Power Query próbuje wykonać jak największą część zapytania w źródle danych, a wszelkie pozostałe przekształcenia przetwarza w silniku Power Query.
Ważne
Są przestrzegane wszystkie reguły z języka formuł Power Query M (nazywanego również językiem M). Co istotne, leniwe obliczanie odgrywa ważną rolę podczas procesu optymalizacji. W tym procesie Power Query rozumie, jakie konkretne przekształcenia z zapytania należy ocenić. Power Query rozumie również, które inne przekształcenia nie muszą być przetwarzane, ponieważ nie są potrzebne w danych wyjściowych zapytania.
Ponadto w przypadku uwzględnienia wielu źródeł poziom prywatności danych każdego źródła danych jest brany pod uwagę podczas oceniania zapytania. Więcej informacji: Za kulisami zapory prywatności danych
Na poniższym diagramie przedstawiono kroki, które mają miejsce w tym procesie optymalizacji.
- Skrypt języka M znajdujący się w edytorze zaawansowanym jest przesyłany do silnika Power Query. Podano również inne ważne informacje, takie jak poświadczenia i poziomy prywatności źródła danych.
- Mechanizm składania zapytań przesyła żądania metadanych w celu określenia możliwości źródła danych, schematów tabel, relacji między tabelami w źródle danych i innych metadanych.
- Na podstawie otrzymywanych metadanych mechanizm składania zapytań określa, jakie informacje należy wyodrębnić ze źródła danych i które przekształcenia muszą zostać wykonane w silniku Power Query. Wysyła instrukcje do dwóch innych komponentów, które pobierają dane ze źródła danych i w razie potrzeby przekształcają przychodzące dane w silniku Power Query.
- Gdy wewnętrzne składniki Power Query otrzymają instrukcje, Power Query wysyła żądanie do źródła danych przy użyciu zapytania źródła danych.
- Źródło danych odbiera żądanie z Power Query i przesyła dane do silnika Power Query.
- Po załadowaniu danych do Power Query silnik przekształceń w Power Query (nazywany również silnikiem mashupów) wykonuje przekształcenia, których nie można złożyć z powrotem do źródła danych ani do niego odciążyć.
- Power Query ładuje przekształcony wynik do miejsca docelowego.
Uwaga / Notatka
W zależności od przekształceń i źródła danych używanych w skry skryptzie języka M Power Query określa, czy przesyłać strumieniowo, czy buforować dane przychodzące.
Do czego służy składanie zapytań w Power Query
Celem składania zapytań jest zlecenie lub przesunięcie jak największej części oceny zapytania do źródła danych, które potrafi przeprowadzić przekształcenia zapytania.
Mechanizm składania zapytań osiąga ten cel, tłumacząc skrypt języka M na język, który źródło danych może interpretować i wykonywać. Następnie wypycha ocenę do źródła danych i wysyła wynik tej oceny do Power Query.
Ta operacja często zapewnia szybsze wykonywanie zapytań niż wyodrębnianie wszystkich wymaganych danych ze źródła danych i uruchamianie wszystkich przekształceń wymaganych przez aparat Power Query.
Podczas korzystania z doświadczenia z pobierania danych, Power Query przeprowadzi Cię przez proces, aby nawiązać połączenie ze źródłem danych. W tym celu Power Query używa serii funkcji w języku M sklasyfikowanych jako dostępnie funkcji danych. Te konkretne funkcje używają mechanizmów i protokołów do nawiązywania połączenia ze źródłem danych przy użyciu języka, który może zrozumieć źródło danych.
W przypadku przekształceń następujących po funkcji źródła danych mechanizm składania zapytań sprawdza, czy może przekazać je do źródła danych, zamiast przetwarzać je w silniku Power Query.
Ważne
Funkcje źródła danych, często wyświetlane jako krok źródłowy zapytania, wysyłają zapytania o dane w źródle danych w języku natywnym. W przypadku przekształceń po funkcji źródła danych Power Query próbuje składać zapytania tylko wtedy, gdy łącznik i przekształcenia go obsługują. Mechanizm może tłumaczyć i łączyć obsługiwane przekształcenia w pojedyncze zapytanie źródła danych.
Wyniki składania zapytań w Power Query
W zależności od struktury zapytania może istnieć trzy możliwe wyniki dla mechanizmu składania zapytań:
| Wynik składania zapytań | Przetwarzanie w źródle danych | Przetwarzanie w silniku Power Query |
|---|---|---|
| Pełne składanie zapytań | Źródło danych przetwarza wszystkie przekształcenia zapytań. | Minimalne przetwarzanie zachodzi w aparacie Power Query. |
| Częściowe składanie zapytań | Źródło danych przetwarza przekształcenia, które program Power Query może przetłumaczyć na natywny język wykonywania zapytań. | Aparat Power Query przetwarza pozostałe przekształcenia. |
| Brak składania zapytań | Źródło danych zwraca żądane dane źródłowe bez przetwarzania przekształceń zapytań. | Aparat Power Query przetwarza wszystkie wymagane przekształcenia. |
Źródła danych, które obsługują składanie zapytań
Obsługa składania zapytań zależy od łącznika, źródła danych i przekształceń w zapytaniu. Łączniki dla ustrukturyzowanych źródeł danych z możliwościami przetwarzania zapytań, takich jak SQL Server i OData Feed, zwykle obsługują składanie zapytań. Źródła bez mechanizmu obsługi zapytań, takie jak pliki CSV i Excel, nie obsługują składania zapytań.
Podczas optymalizacji aparat Power Query może zmienić kolejność kroków zapytań. Korzystanie ze źródła danych z większymi zasobami obliczeniowymi i obsługą składania zapytań może skracać czas ładowania zapytań, ponieważ przetwarzanie odbywa się w źródle danych, a nie w silniku Power Query.
Weryfikowanie składania zapytań w Power Query Online
W Power Query Online użyj wskaźników składania zapytań obok zastosowanych kroków, aby zidentyfikować, które kroki składają się. Możesz również użyć planu zapytania, aby zobaczyć, które operacje są wykonywane w źródle danych, a które w aparacie Power Query. Te funkcje są dostępne tylko w usłudze Power Query Online.
Jeśli jest dostępna, użyj polecenia Wyświetl zapytanie natywne lub Wyświetl źródło danych, aby sprawdzić żądanie, które Power Query wysyła do źródła danych. Dostępność zależy od łącznika.