Power BI veri kümeleri ve Azure Analysis Services için DirectQuery kullanma (önizleme)
With Power BI veri kümeleri ve Azure Analysis Services (AAS) için DirectQuery ile, AAS veya Power BI veri kümelerine bağlanmak için DirectQuery kullanabilir, isterseniz bunu diğer DirectQuery verileri ve içeri aktarılmış verilerle birleştirebilirsiniz. Özellikle kurumsal anlam modellerinden gelen verileri sahip oldukları diğer verilerle (örneğin Excel elektronik tabloları) birleştirmek ya da kurumsal anlam modellerinden gelen meta verileri kişiselleştirmek veya zenginleştirmek isteyen rapor yazarları bu özelliği yararlı bulacaktır.
Önizleme özelliğini etkinleştirme
İşlevsellik şu anda önizlemede olduğundan öncelikle etkinleştirmeniz gerekir. Bunu yapmak için Power BI Desktop'ta Dosya > Seçenekler ve ayarlar > Seçenekler'e gidin ve Önizleme özellikleri bölümünde Power BI veri kümeleri ve Analysis Services için DirectQuery onay kutusunu işaretleyerek bu önizleme özelliğini etkinleştirin. Yaptığınız değişikliğin geçerlilik kazanması için Power BI Desktop'ı yeniden başlatmanız gerekebilir.
Canlı bağlantılar için DirectQuery'yi kullanma
Power BI veri kümeleri ve Azure Analysis Services için DirectQuery kullanılması raporunuzun yerel bir modele sahip olmasını gerektirir. Canlı bir bağlantıyla başlayabilir, yerel bir modele ekleyebilir veya yükseltebilirsiniz ya da bir DirectQuery bağlantısı veya içeri aktarılan veriler ile başlayabilir ve bu, raporunuzda otomatik olarak yerel bir model oluşturur.
Modelinizde hangi bağlantıların kullanıldığını görmek için Power BI Desktop'ın sağ alt köşesindeki durum çubuğuna bakın. Yalnızca Azure Analysis Services kaynağına bağlıysanız aşağıdaki resme benzer bir ileti görürsünüz:

Bir Power BI veri kümesine bağlıysanız, hangi Power BI veri kümesine bağlı olduğunuzu bildiren bir ileti görürsünüz:

Canlı bağlantı kurduğunuz veri kümesindeki alanların meta verilerini özelleştirmek istiyorsanız durum çubuğundaki Bu modelde değişiklik yap'ı seçin. Alternatif olarak, aşağıdaki resimde gösterildiği gibi şeridin Bu modelde değişiklik yap düğmesine de tıklayabilirsiniz. Rapor Görünümü'nde Modelleme sekmesindeki Bu modelde değişiklik yap düğmesi. Model Görünümü'nde bu düğme Giriş sekmesindedir.

Düğme seçildiğinde yerel modelin eklendiğini onaylayan bir iletişim kutusu görüntülenir. Power BI veri kümelerindeki veya Azure Analysis Services'deki alanlarda yeni sütunlar oluşturmayı veya meta verileri değiştirmeyi etkinleştirmek için Yerel model ekle'yi seçin. Aşağıdaki resimde görüntülenen iletişim kutusu gösterilir.

Analysis Services kaynağına canlı bağlantı kurduğunuzda yerel model yoktur. Power BI veri kümeleri ve Azure Analysis Services gibi canlı bağlantılı kaynaklarda DirectQuery'yi kullanmak için raporunuza yerel model eklemelisiniz. Yerel modelle Power BI hizmetine rapor yayımladığınızda, bu yerel model için bir veri kümesi de yayımlanır.
Zincirleme
Veri kümeleri ve bunların temel aldığı veri kümeleriyle modeller bir zincir oluşturur. zincirleme olarak adlandırılan bu işlem, daha önce mümkün olmayan bir özellik olan diğer Power BI veri kümelerine dayalı bir rapor ve veri kümesi yayımlamanızı sağlar.
Örneğin iş arkadaşınızın Satış adlı bir Azure Analysis Services modelini temel alan Satış ve Bütçe adlı bir Power BI veri kümesi yayımladığını ve bunu Bütçe adlı bir Excel sayfasıyla birleştirdiğini düşünün.
İş arkadaşınız tarafından yayımlanan Satış ve Bütçe Power BI veri kümesine dayalı Satış ve Bütçe Avrupa adlı yeni bir rapor (ve veri kümesi) yayımladığınızda, bazı başka değişiklikler ve uzantılar yaparsanız aslında Satış adlı Azure Analysis Services modeliyle başlayıp Satış ve Bütçe Avrupa adlı Power BI veri kümenizle biten ve uzunluğu üç olan bir zincire rapor ve veri kümesi eklemiş olursunuz. Aşağıdaki resim bu zincirleme işlemi görselleştirir.

Önceki resimde yer alan zincirin uzunluğu üçtür ve bu önizleme süresi boyunca en çok bu uzunlukta olabilir. Bir zincir uzunluğunun üçten fazla genişletilmesi desteklenmez ve hatalara neden olur.
Güvenlik uyarısı
Power BI veri kümeleri ve Azure Analysis Services (AAS) için DirectQuery özelliğini kullanıldığında size aşağıdaki resimde gösterilen bir güvenlik uyarısı iletişim kutusu görüntülenir.

Veriler bir veri kaynağından diğerine gönderilebilir; bu, bir veri modelinde DirectQuery ile içeri aktarma kaynaklarını birleştirmeye yönelik aynı güvenlik uyarısıdır. Bu davranış hakkında daha fazla bilgi edinmek için Power BI Desktop'ta bileşik modeller kullanma konusuna bakın.
Denenecek özellikler ve senaryolar
Aşağıdaki listede Power BI veri kümeleri ve Azure Analysis Services (AAS) için DirectQuery'yi kendiniz inceleyebilmeniz için öneriler sağlanır:
- Çeşitli kaynaklardaki verilere bağlanma: İçeri aktarma (dosyalar gibi), Power BI veri kümeleri, Azure Analysis Services
- Farklı veri kaynakları arasında ilişki oluşturma
- Farklı veri kaynaklarındaki alanları kullanan ölçüler yazma
- Azure Analysis Services'in Power BI veri kümelerinden tablolar için yeni sütunlar oluşturma
- Farklı veri kaynaklarındaki sütunları kullanan görseller oluşturma
Power BI Desktop nisan 2021 sürümünden itibaren, bir perspektif varsa, bir Azure Analysis Services modeliyle DirectQuery bağlantısı yaparken da bir perspektife bağlanabilirsiniz.
Power BI Desktop ekim 2021 sürümünden itibaren bağlantılarınız üzerinde daha fazla denetime sahip olursunuz:
- Alan listesini kullanarak modelinizdeki bir tabloyu kaldırabilirsiniz, böylece modelleri olabildiğince kısa ve yalın bir şekilde tutabilirsiniz (bir perspektife bağlanırsanız, modelden tablo kaldıramazsınız)
- Yalnızca belirli bir tablo alt kümesini istediğinizde, tüm tabloları yüklemek yerine yüklenecek tabloları belirtebilirsiniz
- Modelinizde bağlantıyı yaptıktan sonra, daha sonra veri kümesine eklenen herhangi bir tablo eklenip eklenmeyeceğini belirtebilirsiniz
- 2021 Ekim sürümüyle birlikte, model sorgularının paralel yürütmesi ve akıllı önbelleğe alma ile performans iyileştirmeleri yapılmıştır
Önemli noktalar ve sınırlamalar
Power BI veri kümeleri ve Azure Analysis Services (AAS) için DirectQuery'yi kullanırken aklınızda bulundurmanız gereken birkaç önemli nokta vardır:
Veri kaynaklarınızı yenilerseniz ve çakışan alan veya tablo adlarıyla ilgili hatalar varsa Power BI hataları sizin için düzeltir.
Kullanıcılar, bu özellikten yararlanan bir rapora erişmek için zincirdeki tüm veri kümelerinde ' Build ' izinlerine sahip olmalıdır.
Power BI hizmetinde başka bir veri kümesine dayanan bir bileşik modelde raporlar oluşturmak için tüm kimlik bilgilerinin ayarlanması gerekir. Kimlik bilgileri ayarlanmış olsa bile Azure Analysis Services kaynakları için kimlik bilgisi ayarlarını yenileme sayfasında aşağıdaki hata görüntülenir:

Bu kafa karıştırıcı ve yanlış olduğundan, yakında bununla ilgileneceğiz.
Power BI bir veri kümesiyle DirectQuery bağlantısı yapabilmek için kiracınızın "xmla uç noktalarına izin ver ve şirket içi veri kümelerinde Excel çözümle" etkinleştirilmiş olması gerekir.
Premium kapasiteler için "xmla bitiş noktası", "salt okuma" veya "okuma/yazma" olarak ayarlanmalıdır.
Bu özellikle birlikte Klasik bir çalışma alanı kullanıyorsanız, veri kümesinin kendisinde izinleri ayarlamak yeterli değildir. Klasik çalışma alanları için, bu özellikten yararlanan raporlara erişen tüm kullanıcıların çalışma alanının üyesi olması gerekir. Bu durumdan kaçınmak için Klasik çalışma alanlarını yeni çalışma alanlarına yükseltmeyi göz önünde bulundurun.
RLS kuralları tanımlandıkları kaynakta uygulanır ama modeldeki diğer veri kümelerinin hiçbirine uygulanmaz. Raporda tanımlanan RLS uzak kaynaklara uygulanmaz ve uzak kaynaklarda ayarlanan RLS de diğer veri kaynaklarına uygulanmaz.
KPI 'ler, satır düzeyi güvenlik ve çeviriler bu önizleme sürümündeki kaynaktan içeri aktarılmayacak.
Tarih hiyerarşisini kullanırken bazı beklenmeyen davranışlar görebilirsiniz. Bu sorunu çözmek için, bunun yerine tarih sütunu kullanın. Görsele tarih hiyerarşisi ekledikten sonra alan adındaki aşağı oka tıklayarak ve ardından Tarih Hiyerarşisi'ni kullanmak yerine söz konusu alanın adına tıklayarak bir tarih sütununa geçebilirsiniz:

Tarih sütunlarını ve Tarih hiyerarşilerini kullanma hakkında daha fazla bilgi için Bu makaleyiziyaret edin.
Azure Analysis Services'e DirectQuery bağlantısı olan bir modelle yapay zeka özelliklerini kullanırken yararsız hata iletileri görebilirsiniz.
DirectQuery kaynağıyla ALLSELECTED kullanılması eksik sonuçlara yol açar.
Filtreler ve ilişkiler:
Bir veri kaynağından başka bir DirectQuery kaynağındaki tabloya uygulanan filtre yalnızca tek sütunda ayarlanabilir
DirectQuery kaynağındaki iki tabloyu kaynağın dışındaki bir tabloyla filtreleyerek bunlara çapraz filtre uygulamak önerilen bir tasarım değildir ve desteklenmez.
Filtre bir tabloya tek bir kez dokunabilir. DirectQuery kaynağının dışındaki tablolardan biri aracılığıyla tabloya aynı filtreyi iki kez uygulamak desteklenmez.
Önizleme sırasında model zincirinin uzunluk üst sınır üçtür. Üçü aşan zincir uzunluğu desteklenmez ve hatalarla sonuçlanır.
Bir zincir oluşturulmasını veya genişletilmesini önlemek için modelde bir engel bayrağı ayarlanabilir . Daha fazla bilgi için bkz. yayımlanmış bir veri kümesiyle DirectQuery bağlantılarını yönetme .
Power BI bir veri kümesiyle bağlantı, Power Query gösterilmeyecektir.
Ayrıca aklınızda tutmanız gereken birkaç sınırlama vardır:
Veritabanı ve sunucu adlarının parametreleri şu anda devre dışı bırakılmıştır.
Uzak bir kaynaktan tablolarda RLS tanımlanması desteklenmez.
Aşağıdaki kaynaklardan herhangi birini bir DirectQuery kaynağı olarak kullanmak desteklenmez:
- SQL Server Analysis Services (SSAS)
- SAP HANA
- SAP Business Warehouse
- Gerçek zamanlı veri kümeleri
"Çalışma alanım" içindeki veri kümelerinde DirectQuery'nin kullanılması şu anda desteklenmemektedir.
Power BI veri kümelerine veya Azure Analysis Services modeline bir DirectQuery bağlantısı içeren veri kümeleriyle Power BI Embedded'in kullanılması şu anda desteklenmemektedir.
Uzak kaynaklardaki hesaplama grupları desteklenmez ve tanımlanmamış sorgu sonuçları elde edilir.
Hesaplanan tablolar bu özellik kullanılarak hizmette desteklenmez. Hesaplanan bir tablo veya doğrudan sorgu veri kaynağına başvuran hesaplanmış bir sütun içeren bir veri kümesi üzerinde yenileme gerçekleştirmeye çalışılması, "çoklu oturum açma (SSO) kimlik bilgisi sağlanmadı" hata iletisiyle sonuçlanır.
Otomatik sayfa yenileme (APR), veri kaynağı türüne bağlı olarak yalnızca bazı senaryolarda desteklenir. Daha fazla bilgi için Power BI'da otomatik sayfa yenileme makalesine bakın.
Diğer veri kümelerine DirectQuery özelliğini kullanan bir veri kümesini alma özelliği şu anda desteklenmiyor.
herhangi bir directquery veri kaynağında olduğu gibi, bir Azure Analysis Services modelinde veya Power BI veri kümesinde tanımlanan hiyerarşiler, Excel kullanılarak DirectQuery modundaki modele veya veri kümesine bağlanılırken gösterilmez.
Kiracı konuları
bir Power BI veri kümesine veya Azure Analysis Services yönelik DirectQuery bağlantısı olan herhangi bir model, aşağıdaki diyagramda gösterildiği gibi, bir Power BI veri kümesine ya da B2B konuk kimliklerini kullanarak bir Azure Analysis Services modeline erişirken özellikle önemli olan aynı kiracıda yayımlanmalıdır. Yayımlama için kiracı URL 'sini bulmak üzere içeriği düzenleyebilen ve yönetebilen Konuk kullanıcılar bölümüne bakın.
Aşağıdaki diyagramı göz önünde bulundurun. Diyagramdaki numaralandırılmış adımlar, izleyen paragraflarda açıklanmıştır.
Diyagramda, Ash, contoso ile birlikte çalışarak Fabrikam tarafından sunulan verilere erişiyor. Power BI Desktop kullanarak, ash, Fabrikam kiracısında barındırılan bir Azure Analysis Services modeliyle DirectQuery bağlantısı oluşturur.
Kimlik doğrulaması yapmak için, Ash bir B2B Konuk Kullanıcı kimliğini kullanır (diyagramdaki 1. adım).
rapor contoso 'nun Power BI hizmetine (2. adım) yayımlanıyorsa, contoso kiracısında yayınlanan veri kümesi Fabrikam 'ın Azure Analysis Services modeliyle (3. adım) kimlik doğrulamasını başarıyla yapamaz . Sonuç olarak, rapor çalışmayacaktır.
Bu senaryoda, kullanılan Azure Analysis Services modeli fabrikam kiracısında barındırıldığından, rapor fabrikam kiracısında de yayımlanmalıdır. Fabrikam kiracısında başarılı bir yayından sonra (4. adım) veri kümesi Azure Analysis Services modeline (5. adım) başarılı bir şekilde erişebilir ve rapor düzgün şekilde çalışacaktır.
Nesne düzeyinde güvenlik ile korunan kaynak modelleriyle DirectQuery bağlantısı olan bileşik modeller
bileşik bir model Power BI veri kümesinden veya Azure Analysis Services verileri aldığında ve bu kaynak model nesne düzeyinde güvenlik tarafından güvenli hale getirilirse, bileşik modelin tüketicileri beklenmedik sonuçlara neden olabilir. Aşağıdaki bölümde bu sonuçların nasıl gelebileceği açıklanmaktadır.
Nesne düzeyinde güvenlik (lar), model yazarlarından (örneğin, bir rapor Oluşturucusu veya bileşik model yazarı) model şemasını oluşturan nesneleri (yani, tablolar, sütunlar, meta veriler vb.) gizlemesini sağlar. Bir nesne için IR yapılandırma bölümünde model yazarı bir rol oluşturur ve bu role atanan kullanıcılar için nesneye erişimi kaldırır. Bu kullanıcıların açısından, gizli nesne yalnızca mevcut değildir.
IR, için tanımlanır ve kaynak modelde uygulanır. Kaynak model üzerinde oluşturulmuş bir bileşik model için tanımlanamaz.
bileşik bir model, DirectQuery bağlantısı aracılığıyla bir yukarı korumalı Power BI veri kümesinin veya Azure Analysis Services modelinin üzerine inşa edildiğinde, kaynak modeldeki model şeması aslında bileşik modele kopyalanır. Nelerin kopyalandığı, bileşik model yazarının neye izin verileceğini, kaynak modelde, burada uygulanan BIRIKTIRME kurallarına göre görme bölümüne bağlıdır. Verilerin kendisi bileşik modele kopyalanmaz. bunun yerine, gerektiğinde kaynak modelinden her zaman DirectQuery aracılığıyla alınır. Diğer bir deyişle, veri alımı her zaman kaynak modeline geri dönerek, burada IR kuralları geçerlidir.
Bileşik modelin, bu kuralların güvenliği güvenli olmadığı için, bileşik modelin tüketicilerinin gördükleri nesneler, bileşik model yazarının, kendi erişim sahibi olabilecekleri kaynak modelde görebildiklerdir. Bu durum aşağıdaki durumlara yol açabilir
- Bileşik modele bakan birisi, kaynak modeldeki bu nesnelerden gizlenen nesneleri
- Buna karşılık, bu nesne bileşik modelde kaynak modelde görebilecekleri bir nesne görmeyebilir, çünkü bu nesne bileşik model yazarından kaynak modele erişimi denetleyen bir nesne olarak görünmeyebilir.
Önemli bir nokta, ilk madde işaretinde açıklanan artma, bileşik modelin tüketicilerinin görmemesi gereken gerçek verileri hiçbir şekilde görmez ve verilerin aslında bileşik modelde bulunmadığından emin olur. Bunun yerine, DirectQuery nedeniyle, kaynak veri kümesinden gerektiği şekilde alınır ve burada, IR, her biri yetkisiz erişimi engeller.
Bu arka plan göz önünde bulundurularak aşağıdaki senaryoyu göz önünde bulundurun.

Admin_user, bir Power BI veri kümesi veya bir müşteri tablosu ve bölge tablosu olan Azure Analysis Services modeli kullanarak bir kurumsal anlam modeli yayımlamıştır. Admin_user, veri kümesini Power BI hizmetine yayınlar ve aşağıdaki etkiye sahip olan geçerli olan grupları ayarlar:
- Finans kullanıcıları müşteri tablosunu göremez
- Pazarlama kullanıcıları bölge tablosunu göremez
Finance_user, "Finans veri kümesi" adlı bir veri kümesini ve DirectQuery aracılığıyla, 1. adımda yayınlanan kurumsal anlam modeline bağlanan "finans raporu" adlı bir raporu yayımlar. Finans raporu, bölge tablosundan bir sütun kullanan bir görseli içerir.
Marketing_user, finans raporunu açar. Bölge tablosunu kullanan görsel görüntülenir, ancak bir hata döndürür, çünkü rapor açıldığında, DirectQuery Marketing_user kimlik bilgilerini kullanarak kaynak modelden verileri almaya çalışır, bu da kurumsal anlam modelinde ayarlanan her bir veri tablosuna göre bölge tablosunu görmekten engellenmiştir.
Marketing_user, kaynak olarak finans veri kümesini kullanan "pazarlama raporu" adlı yeni bir rapor oluşturur. Alan listesi Finance_user erişimi olan tabloları ve sütunları gösterir. Bu nedenle, bölge tablosu alanlar listesinde gösterilir, ancak müşteri tablosu değildir. Ancak, Marketing_user bölge tablosundan bir sütundan yararlanan bir görsel oluşturmaya çalıştığında bir hata döndürülür, çünkü bu noktada DirectQuery, Marketing_user kimlik bilgilerini kullanarak kaynak modelden veri almaya çalışır ve bir kez daha ve erişimi engeller. Marketing_user, yeni bir veri kümesi ve bir DirectQuery bağlantısı ile finans veri kümesine bağlanan rapor oluşturduğunda aynı şey olur; bu, Finance_user görebilecekleri, ancak bu tablodan yararlanan bir görsel oluşturmaya çalıştıklarında, bu, kurumsal anlam modeli 'ndeki bu kuralların engellenmesidir.
Şimdi Admin_user, kuruluş anlam modeli 'ndeki IR kurallarını güncelleştiren ve finans 'yi, bölge tablosunu görmekten vazsöylayalım.
Yalnızca finans veri kümesi yenilendiğinde, güncelleştirilmiş IR kuralları buna yansıtılır. Bu nedenle, Finance_user finans veri kümesini yenilediğinde, bölge tablosu artık alanlar listesinde gösterilmez ve bölge tablosundan bir sütun kullanan finans raporundaki görsel, Finance_user için bir hata döndürür, çünkü artık bölge tablosuna erişme izni verilmez.
Toplanacak:
- Bir bileşik modelin tüketicileri, modeli oluşturduklarında bileşik modelin yazarı için geçerli olan IR kurallarının sonuçlarına bakın. Bu nedenle, bileşik modele göre yeni bir rapor oluşturulduğunda, alan listesi, geçerli kullanıcının kaynak modelde erişime sahip olduğu bağımsız olarak, model oluştururken, bileşik modelin yazarının erişimi olan tabloları gösterir.
- Yukarı kurallar bileşik modelin kendisinde tanımlanamaz.
- Bir bileşik modelin tüketicisi, hiçbir zaman gerçek verileri görmez çünkü DirectQuery, kimlik bilgilerini kullanarak verileri almaya çalıştığında, kaynak modeldeki ilgili BIRIKTIRME kuralları bunları engeller.
- Kaynak modeli, kendi ilişkili kurallarını güncelleştirirse, bu değişiklikler yalnızca yenilendiğinde bileşik modeli etkiler.
Power BI veri kümesinden veya Azure Analysis Services modelden tablo alt kümesini yükleme
bir Power BI veri kümesine Azure Analysis Services veya bir DirectQuery bağlantısı kullanarak modele bağlanırken, hangi tabloların bağlanacağına karar verebilirsiniz. Modelinize bağlantıyı yaptıktan sonra, veri kümesine veya modele eklenebilen herhangi bir tabloyu otomatik olarak eklemeyi de tercih edebilirsiniz. Bir perspektife bağlandığınızda modelinizin veri kümesindeki veya modeldeki tüm tabloları içerecektir ve perspektife dahil olmayan tabloların gizli olacağını unutmayın. Ayrıca, perspektife eklenebilen herhangi bir tablo otomatik olarak eklenir. Bu iletişim kutusu, canlı bağlantılar için gösterilmez.
Not
bu iletişim kutusu yalnızca bir Power BI veri kümesine veya Azure Analysis Services modeline var olan bir modele DirectQuery bağlantısı eklediğinizde görünür. bu iletişim kutusunu, verileri oluşturduktan sonra veri kaynağı ayarlarındaki Power BI veri kümesiyle veya Azure Analysis Services modeliyle değiştirerek da açabilirsiniz.
[!div class="mx-imgBorder"]

Sonraki adımlar
DirectQuery hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın: