Aracılığıyla paylaş


Power Query için sorgu planı (Önizleme)

Power Query için sorgu planı, sorgunuzun değerlendirmesinin daha iyi bir görünümünü sağlayan bir özelliktir. Belirli bir sorguyu belirli bir adımda neden katlamayabileceğini saptamaya yardımcı olmak yararlı olur.

Pratik bir örnekte, bu makalede sorgu adımlarınızı gözden geçirmek için sorgu planı özelliğini kullanmanın ana 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.

Not

Power Query için sorgu planı özelliği yalnızca Power Query Online'da kullanılabilir.

Sorgu katlama göstergelerini gözden geçirerek Power Query'deki sorgu planı özelliğini kullanmak için önerilen işlem, ardından seçili bir adım için sorgu planını gözden geçirin ve son olarak sorgu planını gözden geçirerek türetilen değişiklikleri uygulayın.

Bu makale, sorgu planını yorumlamak için önerilen bir dizi adıma ayrılmıştır. Bu adımlar:

  1. Sorguyu katlama göstergelerini gözden geçirin.
  2. Sorgu planını gözden geçirmek için sorgu adımını seçin.
  3. 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.

  1. Power Query 'den - Veri kaynağını seçin, Boş sorgu'yu seçin.

  2. 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"
    
  3. database ve öğesini kendi ortamınız için doğru adlarla değiştirinservername.

  4. (İ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.

  5. İleri'yi seçin.

  6. Power Query Düzenleyicisi Bağlantıyı yapılandır'ı seçin ve kimlik bilgilerini veri kaynağınıza sağlayın.

Not

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.

Sorgu katlama göstergelerinin etkinleştirildiği örnek sorgu.Bu sorgu SalesOrderHeader tablosuna bağlanır ve son beş siparişten totalDue değeri 1000'in üzerinde olan birkaç sütun seçer.

Not

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 sorguyu kaynağa döndürme hakkında iyi bilgi sahibi olmanız önerilir. Sorguyu katlama hakkında daha fazla bilgi edinmek için Sorguyu kaynağa döndürme temel bilgileri bölümüne gidin.

1. Sorguyu kaynağa döndürme göstergelerini gözden geçirin

Not

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.

Uygulanan adımlar bölmesinin içindeki örnek sorgu için sorgu katlama göstergeleri.

Bu örnekte, katlanamıyor tek adım, katlanmayan adım göstergesiyle 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 katlandığını ve nelerin katlanamaz olduğunu anlamaktır.

2. Sorgu planını gözden geçirmek için sorgu adımını seçin

Veri kaynağına geri katlanmadığından, En alt satırlar tutuldu adımını ilgi çekici bir adım olarak belirlediniz. 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.

Satırlara bağlı düğümlerle sorgu planı için diyagram görünümünü gösteren sorgu planı iletişim kutusu.Power Query, Sorguyu kaynağa döndürme temelleri bölümünde belirtildiği gibi yavaş değerlendirme ve sorgu katlama avantajlarından 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. Bu, diyagramın en solunda gösterilir ve bu durumda, En alt satırlar tutuldu adımını temsil eden Table.LastN düğümüdür.

İ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.

Daha iyi bir görünüm için düğümlerin büyütülmüş olduğu sorgu planı iletişim kutusu.

Not

Sorgu planı iyileştirilmiş planı temsil eder. Altyapı bir sorguyu değerlendirirken tüm işleçleri bir veri kaynağına katlamaya ç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. Bunu göz önünde bulundurarak, bu iyileştirilmiş sorgu planında kalan düğümler/işleçler genellikle "katlanmış" veri kaynağı sorgusunu ve katlanamayan ve yerel olarak değerlendirilen tüm işleçleri içerir.

Diğer düğümlerden katlanmış düğümleri tanımlama

Bu diyagramdaki düğümleri iki grup olarak tanımlayabilirsiniz:

  • Katlanmış düğümler: Bu düğüm veya gibi Sql.Database"veri kaynağı" düğümleri olabilirValue.NativeQuery. Bunlar, işlev adlarının altındaki uzak etiketle de tanımlanabilir.
  • Katlanmamış düğümler: , Table.SelectColumnsve gibi Table.SelectRowsdiğer tablo işleçleri ve katlanamayan diğer işlevler. Bunlar, 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 katlanamadı. Amaç, bu düğümlerin veri kaynağına geri katlanmış olmasını sağlamak olduğundan, düğümlerin geri kalanını gözden geçirmeniz gerekir.

İletişim kutusunun alt kısmındaki Sorgu planı görünümü denetimleri ve görünüme sığdır seçeneği seçilidir.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önderilecek yerel sorguyu (SQL'de) gösterir.

Sorgu planındaki Value.NativeQuery düğümü için ayrıntılar görünümü. 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 sorgulanacağı ve ardından bu alanın değerinin 1000'den büyük olduğu satırları almak için TotalDue alanını kullanarak bu tabloyu nasıl filtrelediğini bildirir. Yanındaki düğüm olan Table.LastN, Power Query altyapısı tarafından yerel olarak hesaplanır çünkü katlanamaz.

Not

İşleçler sorgunun betiğinde kullanılan işlevlerle tam olarak eşleşmeyebilir.

Katlanmamış düğümleri gözden geçirin ve dönüştürmenizi katlamanızı sağlayacak eylemleri göz önünde bulundurun

Şimdi hangi düğümlerin katlanamayacağını ve yerel olarak değerlendirileceğini belirlediniz. Bu durumda yalnızca düğüm bulunur Table.LastN , ancak diğer senaryolarda çok daha fazlası olabilir.

Amaç, adımın katlanabilmesi için sorgunuza değişiklikler uygulamaktı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 alınıp alınamadığını deneme ve hata aracılığıyla 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 adımıdır , çü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önmesine neden olup olmadığını görmek için değişiklikleri yapmanız gerekir.

3. Sorgunuzda değişiklik uygulama

Önceki bölümde açıklanan alternatifi uygulayın:

  1. Sorgu planı iletişim kutusunu kapatın ve Power Query Düzenleyicisi dönün.

  2. En alttaki satırlar tutuldu adımını kaldırın.

  3. SalesOrderID sütununu azalan düzende sıralayın.

    Otomatik filtre menüsünü kullanarak SalesOrderID sütununu azalan düzende sıralama.

  4. 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 kutusunda, bağımsız değişken olarak beş sayısını geçirin ve Tamam'a tıklayın.

    Tablo bağlam menüsünü kullanarak yalnızca ilk beş satırı tutmak için Üst satırları koru dönüşümünü seçin.

Değişiklikleri uyguladıktan sonra sorguyu katlama göstergelerini yeniden denetleyin ve bunun size katlanmış bir gösterge verip vermediğini denetleyin.

Tüm sorgu katlama göstergeleri yeşildir ve katlanabilir olduklarını gösterir. Son tablo aynı satırları ancak farklı bir sırada sağlar. Ş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 Ayrıntıları görüntüle'yi seçin.

Sorguda değişiklik yaptıktan sonra yeni sorgu planı, artık yalnızca katlanmış düğümleri gösterir ve Value.NativeQuery sorguyu değerlendiren tam SQL deyimini gösterir.

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 nelerin gönderildiğine ve hangi dönüşümlerin yerel olarak gerçekleştirileceğinin görünürlüğünü sağlar.

Kodunuzu, sorgunuzdaki etkisini görmek için ayarlayabilirsiniz. Sorguyu katlama göstergelerini kullanarak sorgunuzun katlanmasını engelleyen adımlar hakkında da daha iyi bir fikriniz olur.