Azure Cosmos DB v2 (Beta)
Özet
Öğe | Açıklama |
---|---|
Sürüm Durumu | Beta |
Ürünler | Power BI (Anlam modelleri) Power BI (Veri Akışları) Doku (Veri Akışı 2. Nesil) |
Desteklenen Kimlik Doğrulama Türleri | Akış Anahtarı |
Önkoşullar
Desteklenen özellikler
- İçeri Aktar
- DirectQuery (Power BI anlam modelleri)
- Gelişmiş seçenekler
- Yeniden Deneme Sayısı
- "AVERAGE" işlevini etkinleştirme Passdown
- Birden çok sütun için "SIRALAMA" Geçiş'i etkinleştirme
Azure Cosmos DB’ye bağlanma
Azure Cosmos DB verilerine bağlanmak için:
Power BI Desktop'ı başlatın.
Giriş sekmesinde Veri Al'ı seçin.
Arama kutusuna Cosmos DB v2 girin.
Azure Cosmos DB v2 (Beta) öğesini ve ardından Bağlan'ı seçin.
Azure Cosmos DB v2 bağlantı sayfasında, Cosmos Uç Noktası için kullanmak istediğiniz Azure Cosmos DB hesabının URI'sini girin. Veri Bağlantısı modu için, aşağıdaki genel yönergeleri izleyerek kullanım örneğiniz için uygun bir mod seçin:
Daha küçük veri kümeleri için İçeri Aktar'ı seçin. İçeri aktarma modunu kullanırken Power BI, görselleştirmelerinizde kullanmak üzere tüm veri kümesinin içeriğini içeri aktarmak için Cosmos DB ile birlikte çalışır.
DirectQuery modu, yürütme için Cosmos DB kapsayıcısına sorgu göndermeyi etkinleştirir ve bağlayıcının performansını artırır. Bölümlenmiş Cosmos DB kapsayıcıları için, sorgu bölüm anahtarında bir filtre (WHERE yan tümcesi) içeriyorsa toplama işlevine sahip bir SQL sorgusu Cosmos DB'ye geçirilir. Örneğin, bölüm anahtarı "Ürün" olarak tanımlanmışsa, Cosmos DB sunucusunda geçirilebilen ve yürütülebilen bir SQL sorgusu şu şekilde olabilir:
SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'
Not
Daha fazla bilgi:
Veri kaynağı kimlik doğrulamasını yapılandırma isteminde Hesap Anahtarı'nı girin. Ardından Bağlan'ı seçin. Veri kataloğunuz, veritabanlarınız ve tablolarınız Gezgin iletişim kutusunda görünür.
Görüntüleme Seçenekleri bölmesinde, kullanmak istediğiniz veri kümesinin onay kutusunu seçin.
Bölüm Anahtarı filtresini belirtmenin en uygun yolu (toplama işlevlerinin Cosmos DB'ye gönderilebilmesi için) dinamik M parametrelerini kullanmaktır. Dinamik M parametrelerini kullanmak için, benzersiz Bölüm Anahtarı değerlerine sahip bir veri kümesi oluşturur, parametre oluşturur, bunu ana veri kümesine filtre olarak ekler, benzersiz Bölüm anahtarı veri kümesine bağlar ve ana veri kümesi için dilimleyici olarak kullanırsınız. Bölüm Anahtarı filtreleme için dinamik M parametrelerini etkinleştirmek için aşağıdaki adımları kullanın.
a. Benzersiz bölüm anahtarı değerleriyle veri kümesi oluşturma:
Power Query düzenleyicisini açmak için Gezgin'de Yükle yerine Verileri Dönüştür'ü seçin. Sorgu veri kümesine sağ tıklayın ve yeni bir veri kümesi oluşturmak için Çoğalt'ı seçin.
Yeni Bölüm Anahtarı modelini yeniden adlandırın, ardından Cosmos DB bölüm anahtarı sütununa sağ tıklayın. Bu örnekte Product, Cosmos DB bölüm anahtarı sütunudur. Diğer Sütunları Kaldır'ı ve ardından Yinelenenleri Kaldır'ı seçin.
b. Dinamik filtreleme için parametre oluşturma:
Power Query düzenleyicisinde Parametreleri>Yönet Yeni Parametre'yi seçin. Filtre parametresini yansıtacak şekilde yeni parametreyi yeniden adlandırın ve Geçerli Değer olarak geçerli bir değer girin.
c. Ana veri kümesine parametreli filtre uygulama:
Bölüm Anahtarı sütununun açılan simgesini ve ardından Metin Filtreleri>Eşittir'i seçin. Filtre türünü Metin olan Parametre olarak değiştirin. Ardından, b adımında oluşturulan parametreyi seçin. Power Query düzenleyicisinin sol üst köşesindeki Kapat ve Uygula'yı seçin.
d. Parametre bağlama ile Bölüm Anahtarı değerleri dilimleyicisi oluşturma:
Power BI'da Model sekmesini seçin. Ardından Bölüm Anahtarı alanını seçin. Özellikler bölmesinde Gelişmiş>Parametreye bağla'yı seçin. B adımında oluşturulan parametreyi seçin.
Rapor sekmesini seçin ve benzersiz Bölüm Anahtarı ile bir dilimleyici ekleyin.
e. Dilimleyiciden görselleştirme ekleme ve Bölüm Anahtarı filtresi uygulama:
Dilimleyicide seçilen bölüm anahtarı değeri parametreye bağlı olduğundan (d adımında olduğu gibi) ve parametreli filtre ana veri kümesine uygulandığından (c adımında olduğu gibi), seçilen bölüm anahtarı değeri ana veri kümesine filtre olarak uygulanır ve bölüm anahtarı filtresine sahip sorgu tüm görselleştirmelerde Cosmos DB'ye geçirilir.
Gelişmiş seçenekler
Power Query, gerekirse sorgunuza ekleyebileceğiniz bir dizi gelişmiş seçenek sağlar.
Aşağıdaki tabloda Power Query'de ayarlayabileceğiniz tüm gelişmiş seçenekler listelenmiştir.
Gelişmiş seçenek | Açıklama |
---|---|
Yeniden Deneme Sayısı | , 412 - Precondition Failed veya 429 - Too Many Requests http dönüş kodları 408 - Request Timeout varsa, kaç kez yeniden denenecek? Varsayılan yeniden deneme sayısı 5'tir. |
AVERAGE işlevi Geçiş'i etkinleştirme | Bağlayıcının AVG toplama işlevinin Cosmos DB'ye geçirilmesine izin verip vermeyeceğini belirtir. Varsayılan değer 1'dir ve bağlayıcı varsayılan olarak AVG toplama işlevini Cosmos DB'ye geçirmeye çalışır. Bağımsız değişken AVG toplama işlevi için dize, boole veya null değerler içeriyorsa Cosmos DB sunucusu tarafından tanımlanmamış bir sonuç kümesi döndürülür. 0 değerine ayarlandığında, AVG toplama işlevi Cosmos DB sunucusuna geçirilir ve bağlayıcı AVG toplama işleminin kendisini gerçekleştirir. |
Birden çok sütun için SIRALAMA Geçiş'i etkinleştirme | Bağlayıcının SQL sorgusunun ORDER BY yan tümcesinde belirtildiğinde Cosmos DB'ye birden çok sütunun geçirilmesine izin verip vermediğini belirtir. Varsayılan değer 0'dır ve ORDER BY yan tümcesinde birden fazla sütun belirtilirse bağlayıcı sütunları varsayılan olarak geçirmez ve bunun yerine sırayı tek başına gerçekleştirir. 1 değerine ayarlandığında bağlayıcı, SQL sorgusunun ORDER BY yan tümcesinde belirtildiğinde birden çok sütunu Cosmos DB'ye geçirmeyi dener. Cosmos DB'ye birden çok sütunun geçirilmesine izin vermek için ilgili koleksiyonlardaki sütunlarda bileşik dizinlerin ayarlandığından emin olun. Bölümlenmiş koleksiyonlar için ORDER BY içeren bir SQL sorgusu, yalnızca sorgu bölümlenmiş anahtar üzerinde bir filtre içeriyorsa Cosmos DB'ye geçirilir. Ayrıca ORDER BY yan tümcesinde sekizden fazla sütun belirtilmişse bağlayıcı ORDER BY yan tümcesini geçirmez ve bunun yerine sıralama yürütmesinin kendisini işler. |
Bilinen sorunlar ve sınırlamalar
Bölümlenmiş Cosmos DB kapsayıcıları için, sorgu bölüm anahtarında bir filtre (WHERE yan tümcesi) içeriyorsa toplama işlevine sahip bir SQL sorgusu Cosmos DB'ye geçirilir. Toplama sorgusu Bölüm Anahtarı'nda bir filtre içermiyorsa toplama bağlayıcı tarafından gerçekleştirilir.
TOP veya LIMIT uygulandıktan sonra çağrılırsa bağlayıcı bir toplama işlevini geçirmez. Cosmos DB, sorgu işlenirken en sonunda TOP işlemini işler. Örneğin, aşağıdaki sorguda top alt sorguya uygulanırken toplama işlevi bu sonuç kümesinin üzerine uygulanır:
SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E
Toplama işlevinde DISTINCT sağlanırsa, toplama işlevinde DISTINCT yan tümcesi sağlanmışsa bağlayıcı toplama işlevini Cosmos DB'ye geçirmez. Toplama işlevinde mevcut olduğunda DISTINCT, Cosmos DB SQL API'sinde desteklenmez.
TOPLA toplama işlevi için, SUM'daki bağımsız değişkenlerden herhangi biri dize, boole veya null ise Cosmos DB sonuç kümesi olarak tanımsız döndürür. Ancak, null değerler varsa, bağlayıcı sorguyu Cosmos DB'ye, veri kaynağından TOPLA hesaplamasının bir parçası olarak null değeri sıfırla değiştirmesini istediği şekilde geçirir.
AVG toplama işlevi için, SUM'daki bağımsız değişkenlerden herhangi biri dize, boole veya null ise Cosmos DB sonuç kümesi olarak tanımsız döndürür. Bağlayıcı, bu varsayılan Cosmos DB davranışının geçersiz kılınması gerektiğinde AVG toplama işlevini Cosmos DB'ye geçirmeyi devre dışı bırakmak için bir bağlantı özelliğini kullanıma sunar. AVG geçişi devre dışı bırakıldığında Cosmos DB'ye geçirilir ve bağlayıcı, AVG toplama işleminin kendisini gerçekleştirir. Daha fazla bilgi için Gelişmiş seçenekler'deki "ORTALAMA işlevi Geçişlerini Etkinleştir" bölümüne gidin.
Büyük bölüm anahtarına sahip Azure Cosmos DB Kapsayıcıları şu anda Bağlayıcı'da desteklenmemektedir.
Sunucu sınırlamaları nedeniyle toplama geçişi aşağıdaki söz dizimi için devre dışı bırakıldı:
Sorgu bir bölüm anahtarına filtre uygulamadığında veya bölüm anahtarı filtresi WHERE yan tümcesinin en üst düzeyinde veya işlecini başka bir koşulla kullandığında.
Sorguda WHERE yan tümcesindeki IS NOT NULL yan tümcesinde bir veya daha fazla bölüm anahtarı göründüğünde.
V2 bağlayıcısı diziler, nesneler ve hiyerarşik yapılar gibi karmaşık veri türlerini desteklemez. Bu senaryolar için Azure Cosmos DB için Doku Yansıtma özelliğini öneririz.
V2 bağlayıcısı, çıkarsanan şemayı bulmak için ilk 1.000 belgenin örneklemesini kullanır. Belgelerin yalnızca bir bölümü güncelleştirildiğinde şema evrimi senaryoları için önerilmez. Örneğin, kapsayıcıdaki bir belgeye belgelerden birkaçı içeren yeni eklenen bir özellik, çıkarılmış şemada inlcuded olmayabilir. Bu senaryolar için Azure Cosmos DB için Doku Yansıtma özelliğini öneririz.
Şu anda V2 bağlayıcısı nesne özelliklerinde dize olmayan değerleri desteklememektedir.
Sunucu sınırlamaları nedeniyle filtre geçişi aşağıdaki söz dizimi için devre dışı bırakıldı:
- WHERE yan tümcesinde bir veya daha fazla toplama sütunu içeren sorguya başvurulduğunda.