Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
En av de vanligste grunnene til å bruke Query Diagnostics er for å bedre forstå hvilke operasjoner Power Query sender ned til backend-datakilden for å utføre. Denne prosessen kalles også folding. For å se hvilke operasjoner som foldes, se på den mest spesifikke spørringen eller spørringene som Power Query sender til backend-datakilden. Du kan undersøke denne prosessen både for ODATA og SQL.
Operasjonen beskrevet i Registrering av spørringsdiagnostikk i Power BI utfører fire trinn:
- Kobler til datakilden
- Henter kundetabellen
- Filtrerer kunde-ID-rollen til
Sales Representative - Grupper etter
Country
Siden ODATA-koblingen for øyeblikket ikke støtter folding av COUNT() til endepunktet, og siden dette endepunktet også er begrenset i sine operasjoner, forventer vi ikke at det siste steget skal foldes. På den annen side er filtrering relativt trivielt. Dette er akkurat det vi ser hvis vi ser på den mest spesifikke spørringen som sendes:
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
Vi kan se at vi filtrerer tabellen for ContactTitle at er lik Sales Representative, og vi returnerer bare to kolonner: Customer ID og Country.
Country er nødvendig for grupperingsoperasjonen, som må utføres lokalt fordi den ikke utføres av ODATA-endepunktet. Vi kan konkludere med hva som foldes og ikke folder seg her.
På samme måte, hvis vi ser på den spesifikke og siste forespørselen som sendes ut i SQL-diagnostikken, ser vi noe litt annerledes:
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]
Du kan se at Power Query lager et underutvalg hvor ContactTitle filtreres til Sales Representative, og deretter grupperes etter Country på dette underutvalget. Alle våre operasjoner gikk konkurs.
Ved å bruke Query Diagnostics kan vi undersøke hvilke typer operasjoner som ble foldet. I fremtiden håper vi å gjøre denne funksjonaliteten enklere å bruke.