Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Einer der häufigsten Gründe für die Verwendung der Abfragediagnose besteht darin, besser zu verstehen, welche Vorgänge Power Query an die Back-End-Datenquelle zur Ausführung überträgt. Dieser Prozess wird auch als Faltung bezeichnet. Um zu sehen, welche Vorgänge per Query Folding ausgeführt werden, betrachten Sie die detaillierteste Abfrage oder Abfragen, die Power Query an die Back-End-Datenquelle sendet. Sie können diesen Prozess sowohl für ODATA als auch für SQL untersuchen.
Der vorgang, der in der Aufzeichnungsabfragediagnose in Power BI beschrieben wird, führt vier Schritte aus:
- Stellt eine Verbindung mit der Datenquelle her
- Ruft die Kundentabelle ab.
- Filtert die Rolle „Kunden-ID“ nach
Sales Representative - Gruppen nach
Country
Da der OData-Connector derzeit COUNT() nicht an den Endpunkt falten kann und dieser Endpunkt auch bei den unterstützten Operationen eingeschränkt ist, erwarten wir nicht, dass dieser letzte Schritt gefaltet werden kann. Andererseits ist die Filterung relativ trivial. Dies ist genau das, was wir sehen, wenn wir die spezifischeste Abfrage betrachten, die ausgegeben wird:
Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1
Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK
Wir können sehen, dass wir die Tabelle nach ContactTitle filtern, das gleich Sales Representative ist, und dass wir nur zwei Spalten zurückgeben: Customer ID und Country.
Country ist für den Gruppierungsvorgang erforderlich, der lokal ausgeführt werden muss, da er nicht vom ODATA-Endpunkt ausgeführt wird. Wir können hier folgern, was gefaltet wird und was nicht.
Ähnlich, wenn wir uns die spezifische und endgültige Abfrage ansehen, die in der SQL-Diagnose ausgegeben wird, sehen wir etwas leicht anderes:
count(1) as [Count]
from
(
select [_].[Country]
from [dbo].[Customers] as [_]
where [_].[ContactTitle] = 'Sales Representative' and [_].[ContactTitle] is not null
) as [rows]
group by [Country]
Sie können sehen, dass Power Query eine Teilmenge erstellt, wobei ContactTitle auf Sales Representative gefiltert wird, und diese Teilmenge dann nach Country gruppiert. All unsere Unternehmenstätigkeiten wurden eingestellt.
Mithilfe der Abfragediagnose können wir untersuchen, welche Art von Vorgängen gefaltet wurde. In Zukunft hoffen wir, dass diese Funktion einfacher zu bedienen ist.