Yerel sorgularda sorguyu kaynağa döndürme
Power Query'de yerel bir 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:
- Amazon Redshift
- Dataverse (gelişmiş işlem kullanılırken)
- Google BigQuery
- PostgreSQL
- SAP HANA
- Snowflake
- SQL Server
Veri kaynağından hedefe bağlanma
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, bu düğüm sunucunun içindeki veritabanı düzeyidir.
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 kutusu açılır. Gezinti iletişim kutusu, bağlanabileceğiniz tüm kullanılabilir nesneleri içerir.
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ünü seçip basılı tutun (veya 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.
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.
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ıldığı 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 dördüncü parametresi için isteğe bağlı kaydın kullanılmasıdır.
Formülü girdikten sonra, yerel sorguların belirli bir adımda çalıştırılmasını etkinleştirmenizi gerektiren bir uyarı gösterilir. Bu adımın değerlendirilmesi için Devam'ı seçin.
Bu SQL deyimi yalnızca üç satır ve iki sütun içeren bir tablo döndürür.
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.
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.
Veri kaynağına hangi sorgunun gönderildiğini daha fazla doğrulamak için Filtrelenmiş satırlar adımını seçip tutabilir (veya sağ tıklayabilir) ve bu adımın sorgu planını denetlemek için Sorgu planını görüntüle seçeneğini belirleyebilirsiniz.
Sorgu planı görünümünde, Görünüm Ayrıntıları köprüsüne sahip Value.NativeQuery adlı bir düğümü görebilirsiniz. SQL Server veritabanına gönderilen tam sorguyu görüntülemek için bu köprüyü seçebilirsiniz.
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.
İpucu
Sorguyu kaynağa döndürme mümkün olmadığından 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ı denemenizi öneririz.