Ymmärrä taittaminen käyttämällä kyselydiagnostiikkaa

Yksi yleisimmistä syistä käyttää kyselydiagnostiikkaa on ymmärtää paremmin, mitä toimintoja Power Query siirtää taustatietolähteelle suorittaakseen. Tätä prosessia kutsutaan myös taittumiseksi. Nähdäksesi, mitkä operaatiot taittavat, katso tarkin kysely tai kyselyt, jotka Power Query lähettää taustatietolähteelle. Voit tutkia tätä prosessia sekä ODATAlle että SQL:lle.

Power BI:n kyselydiagnostiikan tallennus -osiossa kuvattu operaatio suorittaa neljä vaihetta:

  • Yhdistyy tietolähteeseen
  • Hae asiakastaulukon
  • Suodattaa asiakastunnuksen roolin muotoon Sales Representative
  • Ryhmät Country

Koska ODATA-liitin ei tällä hetkellä tue COUNT():n taittamista päätepisteelle, ja koska tämänkin päätepisteen toiminta on rajoitettu, emme odota tämän viimeisen vaiheen päättyvän. Toisaalta suodatus on melko yksinkertaista. Tämä on juuri se, mitä näemme, kun tarkastelemme tarkinta lähettämää kyselyä:

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

Näemme, että suodatamme taulukkoa, joka ContactTitle on Sales Representativeyhtä suuri , ja palautamme vain kaksi saraketta: Customer ID ja Country. Country tarvitaan ryhmittelyoperaatioon, joka täytyy suorittaa paikallisesti, koska sitä ei suoriteta ODATA-päätepisteessä. Voimme päätellä, mikä taittuu ja mikä ei.

Samoin, jos tarkastelemme SQL-diagnostiikassa esitettyä tarkkaa ja lopullista kyselyä, näemme jotain hieman erilaista:

    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]

Näet, että Power Query luo alivalinnan, jossa ContactTitle suodatetaan , Sales Representativeja sitten ryhmittelee tämän alivalinnan mukaanCountry. Kaikki toimintamme lopetettiin.

Query Diagnosticsin avulla voimme tarkastella, millaiset operaatiot ovat taitonneet. Tulevaisuudessa toivomme tekevämme tämän ominaisuuden helpommaksi käyttää.