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, Power Query'nin hangi işlemleri gerçekleştirmesi için arka uç veri kaynağına gönderdiğini daha iyi anlamaktır. Bu işlem katlama olarak da bilinir. Hangi işlemlerin katlandığını görmek için, Power Query’nin arka uç veri kaynağına gönderdiği en spesifik sorguya ya da sorgulara bakın. Bu işlemi hem ODATA hem de SQL için inceleyebilirsiniz.
Power BI'da sorgu tanılamasını kaydetme bölümünde açıklanan işlem dört adım gerçekleştirir:
- Veri kaynağına bağlanır
- Müşteri tablosunu getirir
- Müşteri Kimliği rolünü şu şekilde filtreler:
Sales Representative - Gruplandırma ölçütü:
Country
ODATA bağlayıcısı şu anda COUNT() öğesini uç noktaya katlama özelliğini desteklemediğinden ve bu uç nokta işlemlerinde de sınırlı olduğundan bu son adımın katlanmasını beklemiyoruz. Öte yandan, filtreleme nispeten önemsizdir. Yayılan 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
tablosunu ContactTitle buna eşit Sales Representativeolarak filtrelediğimize ve yalnızca iki sütun döndürdüğünü görebiliriz: Customer ID ve Country.
Country gruplandırma işlemi için gereklidir. Bu işlem ODATA uç noktası tarafından gerçekleştirilmediğinden yerel olarak gerçekleştirilmesi gerekir. 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]
Power Query’nin, ContactTitle’ın Sales Representative’e filtrelendiği bir alt seçim oluşturduğunu ve ardından bu alt seçimde Country’ye göre gruplandırdığını görebilirsiniz. Tüm operasyonlarımız sonlandırıldı.
Query Diagnostics'i kullanarak hangi işlemlerin sorgu katlamasına uğradığını inceleyebiliriz. Gelecekte bu özelliğin kullanımını kolaylaştırmak istiyoruz.