Taittelun ymmärtäminen kyselydiagnostiikan avulla
Yksi yleisimmistä syistä kyselydiagnostiikan käyttämiseen on se, että on helpompi ymmärtää, mitä toimintoja Power Query on "siirtänyt alas" taustatietolähteen suorittamiseksi. Jos haluamme nähdä, mikä lähteeseen delegoitu arvo on, voimme tarkastella yleisintä kyselyä tai kyselyä, joka lähetetään taustatietolähteeseen. Voimme tarkastella tätä sekä ODATA:n että SQL:n kohdalla.
Diagnostiikan tallennus -artikkelissa kuvattu toiminto tekee käytännössä neljä asiaa:
- Näyttöyhteys tietolähteeseen
- Ottaa asiakastaulukon
- Suodattaa asiakastunnusroolin arvoksi Myyntiedustaja
- Ryhmät "maan" mukaan
ODATA-yhdistin ei tällä hetkellä tue COUNT()-kohteen delegointia päätepisteeseen, ja koska myös tämän päätepisteen toiminta on jonkin verran rajallista, emme odota, että tämä viimeinen vaihe delegoidaan lähteeseen. Toisaalta suodattaminen on suhteellisen vähäpätöistä. Tarkastelemme tässä juuri edellä lähetettyä tarkinta 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 ContactTitle-taulukon niin, että se vastaa myyntiedustajaa, ja palautamme vain kaksi saraketta: Asiakastunnus ja Maa. Maa tietenkin tarvitaan ryhmittelytoiminnolle, joka koska ODATA-päätepiste ei suorita sitä, on suoritettava paikallisesti. Voimme päätellä, mikä taittaa ja ei taita tähän.
Jos tarkastelemme SQL-diagnostiikkaan lähetettyä tiettyä ja lopullista kyselyä, voimme vastaavasti nähdä 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]
Tässä näemme, että Power Query luo alivalinnan, jossa ContactTitle suodatetaan myyntiedustajaksi ja ryhmittelee sitten maan mukaan tässä alivalinnassa. Kaikki toimintamme on taitettu.
Kyselydiagnostiikan avulla voimme tutkia, millaisia toimintoja taitetaan tulevaisuudessa. Toivomme, että tämä ominaisuus on helppokäyttöisempi.