Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sorgu Tanılama'yı kullanmanın en yaygın nedenlerinden biri, 'katlama' olarak da bilinen arka uç veri kaynağı tarafından gerçekleştirilecek Power Query tarafından hangi işlemlerin 'aşağı gönderildiğini' daha iyi anlamaktır. Neyin katlandığını görmek istiyorsak arka plandaki veri kaynağına gönderilen 'en özel' sorguya veya sorgulara bakabiliriz. Buna hem ODATA hem de SQL için bakabiliriz.
Kayıt Tanılaması makalesinde açıklanan işlem temelde dört şey yapar:
- Veri kaynağına bağlanır
- Müşteri tablosunu alır
- Müşteri Kimliği rolünü 'Satış Temsilcisi' olarak filtreler
- 'Ülkeye' göre gruplar
ODATA bağlayıcısı şu anda COUNT() öğesini uç noktaya katlama özelliğini desteklemediğinden ve bu uç nokta işlemlerinde de biraz sınırlı olduğundan, bu son adımın katlanmasını beklemiyoruz. Öte yandan, filtreleme nispeten önemsizdir. Yukarıda gösterilen en özel sorguya baktığımızda tam olarak bunu görürüz:
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
ContactTitle tablosunu 'Satış Temsilcisi' değerine eşit şekilde filtrelediğimize ve yalnızca iki sütun döndürebildiğimizi görebiliyoruz: Müşteri Kimliği ve Ülke. Ülke, gruplama işlemi için gereklidir. Gruplama işlemi ODATA uç noktası tarafından gerçekleştirilmediğinden, yerel olarak gerçekleştirilmelidir. Burada neyin katlanıp neyin katlanmadığını belirleyebiliriz.
Benzer şekilde, SQL tanılamasında yayılan belirli ve son sorguya bakarsak biraz farklı bir şey görürüz:
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]
Burada Power Query'nin ContactTitle'ın 'Satış Temsilcisi' olarak filtrelendiği bir alt bölüm oluşturduğunu ve ardından bu alt bölüme göre Ülkeye göre gruplandırıldığını görebiliriz. Tüm operasyonlarımız sonlandırıldı.
Sorgu Tanılama'yı kullanarak hangi tür işlemlerin optimize edildiğini inceleyebiliriz; gelecekte bu özelliğin kullanımını daha da kolaylaştırmayı umut ediyoruz.