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.
Power Query için sorgu planı, sorgunuzun değerlendirmesinin daha iyi bir görünümünü sağlayan bir özelliktir. Belirli bir sorgunun belirli bir adımda neden aşamayabileceğini saptamaya yardımcı olmak yararlıdır.
Pratik bir örnekle, bu makalede sorgu adımlarınızı gözden geçirmek için sorgu planı özelliğini kullanmanın temel kullanım örneği ve olası avantajları gösterilmektedir. Bu makalede kullanılan örnekler, AdventureWorks örnek veritabanlarından indirebileceğiniz Azure SQL Server için AdventureWorksLT örnek veritabanı kullanılarak oluşturulmuştur.
Uyarı
Power Query için sorgu planı özelliği yalnızca Power Query Online'da kullanılabilir.
Bu makale, sorgu planını yorumlamak için önerilen bir dizi adıma ayrılmıştır. Bu adımlar şunlardır:
- Sorgu katlama göstergelerini inceleyin.
- Sorgu planını gözden geçirmek için sorgu adımını seçin.
- Sorgunuzda değişiklikleri uygulayın.
Sorguyu kendi Power Query Online ortamınızda oluşturmak için aşağıdaki adımları kullanın.
Power Query 'den - Veri kaynağını seçin, Boş sorgu'yu seçin.
Boş sorgunun betiğini aşağıdaki sorguyla değiştirin.
let Source = Sql.Database("servername", "database"), Navigation = Source{[Schema = "Sales", Item = "SalesOrderHeader"]}[Data], #"Removed other columns" = Table.SelectColumns( Navigation, { "SalesOrderID", "OrderDate", "SalesOrderNumber", "PurchaseOrderNumber", "AccountNumber", "CustomerID", "TotalDue" } ), #"Filtered rows" = Table.SelectRows(#"Removed other columns", each [TotalDue] > 1000), #"Kept bottom rows" = Table.LastN(#"Filtered rows", 5) in #"Kept bottom rows"servernamevedatabaseyerini kendi ortamınız için doğru adlarla değiştirin.(İsteğe bağlı) Şirket içi ortam için bir sunucuya ve veritabanına bağlanmaya çalışıyorsanız, bu ortam için bir ağ geçidi yapılandırdığınızdan emin olun.
sonrakiseçin.
Power Query Düzenleyicisi'nde Bağlantıyı yapılandır'ı seçin ve veri kaynağınıza kimlik bilgilerini sağlayın.
Uyarı
SQL Server'a bağlanma hakkında daha fazla bilgi için SQL Server veritabanına gidin.
Bu adımları takip ettikten sonra sorgunuz aşağıdaki görüntüdeki gibi görünür.
Bu sorgu SalesOrderHeader tablosuna bağlanır ve son beş siparişten totalDue değeri 1000'in üzerinde olan birkaç sütun seçer.
Uyarı
Bu makalede, bu özelliği göstermek için basitleştirilmiş bir örnek kullanılır, ancak bu makalede açıklanan kavramlar tüm sorgular için geçerlidir. Sorgu planını okumadan önce sorgu katlama hakkında iyi bilgi sahibi olmanızı öneririz. Sorgu katlama hakkında daha fazla bilgi edinmek için Sorgu katlama temelleri bölümüne gidin.
1. Sorgu katlama göstergelerini gözden geçirin
Uyarı
Bu bölümü okumadan önce Sorgu katlama göstergeleri makalesini gözden geçirmenizi öneririz.
Bu işlemdeki ilk adımınız sorgunuzu gözden geçirmek ve sorguyu katlama göstergelerine çok dikkat etmektir. Amaç, katlanmamış olarak işaretlenen adımları gözden geçirmektir. Ardından, genel sorguda değişiklik yapmanın bu dönüştürmeleri tamamen katlamasına neden olup olmadığını görebilirsiniz.
Bu örnekte, katlanamayan tek adım, katlanmayan adımıyla kolayca tanımlanabilen Alt satırlar tutuldu adımıdır. Bu adım, sorgunun son adımıdır.
Şimdi amaç, bu adımı gözden geçirmek ve nelerin veri kaynağına geri döndürüldüğünü ve nelerin geri döndürülemediğini anlamaktır.
2. Sorgu planını gözden geçirmek için sorgu adımını seçin
İlgilendiğiniz bir adım olarak En alttaki satırları tuttu adımını tanımladınız çünkü bu adım veri kaynağına geri katlanmıyor. Adıma sağ tıklayın ve Sorgu planını görüntüle seçeneğini belirleyin. Bu eylem, seçili adımın sorgu planı için diyagram içeren yeni bir iletişim kutusu görüntüler.
Power Query, Temel sorgu katlama bölümünde belirtildiği gibi, tembel değerlendirme ve sorgu katlamadan yararlanarak sorgunuzu iyileştirmeye çalışır. Bu sorgu planı, M sorgunuzun veri kaynağına gönderilen yerel sorguya iyileştirilmiş çevirisini temsil eder. Ayrıca Power Query Altyapısı tarafından gerçekleştirilen tüm dönüştürmeleri de içerir. Düğümlerin görüntülenme sırası, sorgunuzun son adımından veya çıkışından başlayarak sorgunuzun sırasını izler ve bu, diyagramın en solunda gösterilir. Bu durumda, Table.LastN düğümü, En alt satırlar tutuldu adımını temsil eder.
İletişim kutusunun alt kısmında, sorgu planı görünümünü yakınlaştırmanıza veya uzaklaştırmanıza yardımcı olan simgelerin bulunduğu bir çubuk ve görünümü yönetmenize yardımcı olacak diğer düğmeler bulunur. Önceki görüntüde, düğümleri daha iyi takdir etmek için bu çubuktan Görünüme sığdır seçeneği kullanılmıştır.
Uyarı
Sorgu planı iyileştirilmiş planı temsil eder. Sorgu motoru, bir sorguyu değerlendirirken tüm işleçleri bir veri kaynağına dahil etmeye çalışır. Bazı durumlarda, katlama işlemini en üst düzeye çıkarmak için adımların bazı iç yeniden sıralamasını bile gerçekleştirebilir. Bu işlem göz önünde bulundurularak, bu iyileştirilmiş sorgu planında kalan düğümler/işleçler genellikle "katlanmış" veri kaynağı sorgusunu içerir. Katlanamayan işleçler yerel olarak değerlendirilir.
Katlanmış düğümleri diğer düğümlerden tanımlayın
Bu diyagramdaki düğümleri iki grup olarak tanımlayabilirsiniz:
-
Katlanmış düğümler: Bu düğüm
Value.NativeQueryveyaSql.Databasegibi "veri kaynağı" düğümleri olabilir. Bu düğümler, işlev adlarının altındaki uzak etiketle de tanımlanabilir. -
Katlanmamış düğümler:
Table.SelectRows,Table.SelectColumnsgibi diğer tablo işleçleri ve katlanamayan diğer işlevler. Bu düğümler , Tam tarama ve Akış etiketleriyle de tanımlanabilir.
Aşağıdaki görüntüde, kırmızı dikdörtgenin içindeki katlanmış düğümler gösterilmektedir. Düğümlerin geri kalanı veri kaynağına geri döndürülemedi. Hedef, bu düğümlerin veri kaynağına yeniden bağlanmasını sağlamak olduğundan, kalan düğümleri incelemeniz gerekiyor.
Genişletilmiş bilgileri görüntülemek için bazı düğümlerin altındaki Ayrıntıları görüntüle'yi seçebilirsiniz. Örneğin, düğümün Value.NativeQuery ayrıntıları veri kaynağına gönderilen yerel sorguyu (SQL'de) gösterir.
Burada gösterilen sorgu, veri kaynağına gönderilen sorguyla tam olarak aynı olmayabilir, ancak iyi bir tahmindir. Bu durumda, SalesOrderHeader tablosundan tam olarak hangi sütunların sorgulandığını bildirir. Ardından TotalDue alanını kullanarak bu tabloyu filtrelediğinden yalnızca bu alanın değeri 1000'den büyük olan satırları alır. Yanındaki düğüm olan Table.LastN, Power Query altyapısı tarafından yerel olarak hesaplanır çünkü katlanamaz.
Uyarı
İşleçler sorgunun betiğinde kullanılan işlevlerle tam olarak eşleşmeyebilir.
Katlanmış olmayan düğümleri gözden geçirin ve dönüştürmenizi katlama eylemlerini göz önünde bulundurun
Şimdi hangi düğümlerin katlanamayacağını ve yerel olarak değerlendirilebileceğini belirlediniz. Bu durumda yalnızca Table.LastN düğümü bulunur, ancak diğer senaryolarda çok daha fazlası olabilir.
Amaç, sorgunuza değişiklikler uygulayarak adımın birleştirilebilmesini sağlamaktır. Uygulayabileceğiniz değişikliklerden bazıları, adımlarınızı yeniden düzenlemekten sorgunuza veri kaynağı için daha açık olan alternatif bir mantık uygulamaya kadar değişebilir. Bu, bazı değişiklikler uygulanarak tüm sorguların ve tüm işlemlerin katlanabilir olduğu anlamına gelmez. Ancak sorgunuzun geri döndürülüp döndürülemeyeceğini deneme yanılma yöntemiyle belirlemek iyi bir uygulamadır.
Veri kaynağı bir SQL Server veritabanı olduğundan, hedef tablodan son beş siparişi almaksa, SQL'deki TOP ve ORDER BY yan tümcelerinden yararlanmak iyi bir alternatiftir. SQL'de BOTTOM yan tümcesi olmadığından PowerQuery'deki Table.LastN dönüşüm SQL'e çevrilemez. Adımı kaldırabilir Table.LastN ve şununla değiştirebilirsiniz:
- Tablodaki SalesOrderID sütununa göre azalan bir sıralama, çünkü bu sütun hangi sıranın önce gittiğini ve hangisinin son girildiğini belirler.
- Tablo sıralandığından bu yana ilk beş satırı seçin; bu dönüşüm, En altta tutulan satırlar (
Table.LastN) ile aynı şekilde gerçekleştirilir.
Bu alternatif, özgün sorguya eşdeğerdir. Teoride bu alternatif iyi görünse de, bu alternatifin bu düğümün veri kaynağına tamamen geri döndürülmesini sağlamasını sağlamak için değişiklikleri yapmanız gerekir.
3. Sorgunuzda değişiklik uygulama
Önceki bölümde açıklanan alternatifi uygulayın:
Sorgu planı iletişim kutusunu kapatın ve Power Query Düzenleyicisi'ne dönün.
En alttaki satırların tutulması adımını kaldırın.
SalesOrderID sütununu azalan düzende sıralayın.
Veri önizleme görünümünün sol üst köşesindeki tablo simgesini seçin ve üst satırları koru seçeneğini belirtin. İletişim kutusuna beş sayısını giriniz ve Tamam'a tıklayın.
Değişiklikleri uyguladıktan sonra katlama göstergelerini yeniden kontrol edin ve size katlanmış bir gösterge verip vermediğinden emin olun.
Şimdi son adımın sorgu planını gözden geçirmenin zamanı geldi. Bu da en üstteki satırları koru'dur. Artık yalnızca katlanmış düğümler vardır. Veritabanına hangi sorgunun gönderildiğini doğrulamak için altındaki Value.NativeQuery seçin.
Bu makalede hangi alternatifin uygulanacağı öneriliyor olsa da, asıl amaç sorguyu katlama işlemini araştırmak için sorgu planını kullanmayı öğrenmenizdir. Bu makale ayrıca veri kaynağınıza gönderilen öğelere ve yerel olarak hangi dönüşümlerin yapıldığına ilişkin görünürlük sağlar.
Kodunuzu, sorgunuzdaki etkisini görmek için ayarlayabilirsiniz. Sorguyu katlama göstergelerini kullanarak, hangi adımların sorgunuzun katlanmasını önlediği konusunda da daha iyi bir fikriniz olur.