Aracılığıyla paylaş


Yerel sorgularda sorguyu kaynağa döndürme

Power Query'de yerel sorgu tanımlayabilir ve veri kaynağınızda çalıştırabilirsiniz. Yerel veritabanı kullanarak veritabanından veri içeri aktarma sorgusu makalesinde bu işlemin birden çok veri kaynağıyla nasıl yapılacağı açıklanır. Ancak, bu makalede açıklanan işlemi kullanarak sorgunuz sonraki sorgu adımlarından herhangi bir sorguyu katlama avantajından yararlanmaz.

Bu makalede Value.NativeQuery işlevini kullanarak veri kaynağınızda yerel sorgular oluşturmak ve sorgunuzun sonraki adımları için sorgu katlama mekanizmasını etkin tutmak için alternatif bir yöntem gösterilir.

Not

Bu makale boyunca kullanılan kavramları daha iyi anlamak için sorguyu kaynağa döndürme ve sorguyu katlama göstergeleri hakkındaki belgeleri okumanızı öneririz.

Desteklenen veri bağlayıcıları

Sonraki bölümlerde açıklanan yöntem aşağıdaki veri bağlayıcıları için geçerlidir:

Veri kaynağından hedefe Bağlan

Not

Bu işlemi göstermek için bu makalede SQL Server bağlayıcısı ve AdventureWorks2019 örnek veritabanı kullanılmaktadır. Bu deneyim bağlayıcıdan bağlayıcıya farklılık gösterebilir, ancak bu makalede desteklenen bağlayıcılar için yerel sorgular üzerinde sorgu katlama özelliklerinin nasıl etkinleştirileceğine ilişkin temel bilgiler yer alır.

Veri kaynağına bağlanırken yerel sorgunuzu yürütmek istediğiniz düğüme veya düzeye bağlanmanız önemlidir. Bu makaledeki örnekte söz konusu düğüm, sunucunun içindeki veritabanı düzeyi olacaktır.

SQL Server'ın yerel bir örneğindeki AdventureWorks2019 veritabanına bağlantı için Bağlan ion ayarları iletişim kutusu.

Bağlantı ayarlarını tanımladıktan ve bağlantınızın kimlik bilgilerini verdikten sonra veri kaynağınızın gezinti iletişim kutusuna yönlendirilirsiniz. Bu iletişim kutusunda bağlanabileceğiniz tüm kullanılabilir nesneleri görürsünüz.

Bu listeden, yerel sorgunun çalıştırıldığı nesneyi (hedef olarak da bilinir) seçmeniz gerekir. Bu örnekte, bu nesne veritabanı düzeyidir.

Power Query'deki gezgin penceresinde, gezgin penceresinde veritabanı düğümüne sağ tıklayın ve Verileri Dönüştür seçeneğini belirleyin. Bu seçeneğin seçilmesi, yerel sorgunuzu çalıştırmak için ihtiyacınız olan hedef olan veritabanınızın genel görünümünün yeni bir sorgusunu oluşturur.

Kullanıcının gezgindeki veritabanı düğümüne sağ tıklayarak Verileri Dönüştür menü öğesini vurguladığı görüntü.

Sorgunuz Power Query düzenleyicisine ulaştığında, Uygulanan adımlar bölmesinde yalnızca Kaynak adımı gösterilmelidir. Bu adım, Veritabanınızdaki kullanılabilir tüm nesnelerin bulunduğu, Gezgin penceresinde görüntülenmelerine benzer bir tablo içerir.

Yalnızca kaynak adımla sorgula.

Value.NativeQuery işlevini kullanma

Bu işlemin amacı aşağıdaki SQL kodunu yürütmek ve Power Query ile kaynağa geri katlanabilir daha fazla dönüştürme uygulamaktır.

SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'

İlk adım, sql kodunun çalıştırılacağı veritabanı olan doğru hedefi tanımlamaktı. Bir adım doğru hedefe sahip olduktan sonra, bu adımı (bu örnekte Uygulanan Adımlarda Kaynak) seçebilir ve ardından özel bir adım eklemek için formül çubuğundaki fx düğmesini seçebilirsiniz. Bu örnekte, formülü aşağıdaki formülle değiştirin Source :

Value.NativeQuery(Source, "SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'  ", null, [EnableFolding = true])

Bu formülün en önemli bileşeni, EnableFolding kayıt alanının true olarak ayarlandığı işlevin ileri parametresi için isteğe bağlı kaydın kullanılmasıdır.

Value.NativeQuery işlevinin ve açık SQL sorgusunun kullanımıyla yeni özel adım formülü.

Not

Value.NativeQuery işlevi hakkında daha fazla bilgiyi resmi belge makalesinden okuyabilirsiniz.

Formülü girdikten sonra, belirli bir adım için yerel sorguların çalıştırılmasını etkinleştirmenizi gerektiren bir uyarı gösterilir. Bu adımın değerlendirilmesi için Devam'a tıklayabilirsiniz.

Bu SQL deyimi yalnızca üç satır ve iki sütun içeren bir tablo döndürür.

Hedef veritabanında değerlendirilen yerel sorgu.

Sorguyu kaynağa döndürmeyi test etme

Sorgunuzun sorguyu kaynağa döndürmesini test etmek için sütunlarınızdan herhangi birine filtre uygulamayı deneyebilir ve uygulanan adımlar bölümündeki sorgu katlama göstergesinin adımı katlanmış olarak gösterip göstermediğini görebilirsiniz. Bu durumda, DepartmentID sütununu ikiye eşit olmayan değerlere sahip olacak şekilde filtreleyebilirsiniz.

DepartmentID sütununu yalnızca ikiye eşit olmayan değerlere sahip olacak şekilde filtreleme.

Bu filtreyi ekledikten sonra, sorgu katlama göstergelerinin bu yeni adımda gerçekleşen sorguyu kaynağa döndürmeyi göstermeye devam ettiğini de de kontrol edebilirsiniz.

Uygulanan adımlar bölümündeki veri kaynağına geri katlanmış olarak gösterilen filtre adımı.

Veri kaynağına hangi sorgunun gönderildiğini daha fazla doğrulamak için Filtrelenen satırlar adımına sağ tıklayabilir ve sorgu planını görüntüle seçeneğini belirleyerek bu adımın sorgu planını de kontrol edebilirsiniz.

Sorgu planı görünümünde, ekranın sol tarafında Value.NativeQuery adlı bir düğümün, Görünüm ayrıntılarını okuyan bir köprü metni olduğunu görebilirsiniz. SQL Server veritabanına gönderilen tam sorguyu görüntülemek için bu köprü metnine tıklayabilirsiniz.

Yerel sorgu, özgün sorgunun alt sorgusunu oluşturmak için başka bir SELECT deyiminin çevresinde sarmalanır. Power Query, kullanılan dönüşümler ve sağlanan yerel sorgu göz önüne alındığında en uygun sorguyu oluşturmak için elinden geleni yapar.

Filtrelenmiş satırlar adımı için sorgu planı.

İpucu

Sorguyu katlama mümkün olmadığı için hatalarla karşı karşıya kaldığınız senaryolarda, söz dizimi veya bağlam çakışmaları olup olmadığını denetlemek için adımlarınızı özgün yerel sorgunuzun alt sorgusu olarak doğrulamayı denemeniz önerilir.