Bagikan melalui


Azure Cosmos DB v2 (Beta)

Ringkasan

Item Deskripsi
Status Rilis Beta
Produk Power BI (Model semantik)
Power BI (Aliran Data)
Fabric (Dataflow Gen2)
Jenis Autentikasi Didukung Kunci Umpan

Prasyarat

Kemampuan yang didukung

  • Import
  • DirectQuery (model semantik Power BI)
  • Opsi tingkat lanjut
    • Jumlah Percobaan Ulang
    • Aktifkan fungsi "AVERAGE" Passdown
    • Aktifkan Passdown "SORT" untuk beberapa kolom

Menyambungkan ke Azure Cosmos DB

Untuk menyambungkan ke data Azure Cosmos DB:

  1. Luncurkan Power BI Desktop.

  2. Di tab Beranda , pilih Dapatkan Data.

  3. Dalam kotak pencarian, masukkan Cosmos DB v2.

  4. Pilih Azure Cosmos DB v2 (Beta), lalu pilih Koneksi.

    Screenshot showing Select Azure Cosmos DB v2 selection.

  5. Pada halaman koneksi Azure Cosmos DB v2, untuk Titik Akhir Cosmos, masukkan URI akun Azure Cosmos DB yang ingin Anda gunakan. Untuk mode data Koneksi ivity, pilih mode yang sesuai untuk kasus penggunaan Anda, ikuti panduan umum berikut:

    • Untuk himpunan data yang lebih kecil, pilih Impor. Saat menggunakan mode impor, Power BI berfungsi dengan Cosmos DB untuk mengimpor konten seluruh himpunan data untuk digunakan dalam visualisasi Anda.

    • Mode DirectQuery memungkinkan pushdown kueri ke kontainer Cosmos DB untuk eksekusi dan meningkatkan performa konektor. Untuk kontainer Cosmos DB yang dipartisi, kueri SQL dengan fungsi agregat diteruskan ke Cosmos DB jika kueri juga berisi filter (klausa WHERE) pada Kunci Partisi. Misalnya, jika kunci partisi didefinisikan menjadi "Produk", maka kueri SQL yang dapat diteruskan dan dijalankan di server Cosmos DB dapat berupa:

      SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'

    Catatan

    Gunakan Azure Synapse Link untuk Azure Cosmos DB jika Anda ingin menjalankan fungsi agregat lintas partisi terhadap kontainer Cosmos DB.

    Informasi selengkapnya:

    Screenshot of the connection dialog box showing the Cosmos Endpoint entry and Data connectivity mode set to DirectQuery.

  6. Pada perintah untuk mengonfigurasi autentikasi sumber data, masukkan Kunci Akun. Kemudian pilih Sambungkan. Katalog data, database, dan tabel Anda muncul di kotak dialog Navigator .

  7. Di panel Opsi Tampilan, pilih kotak centang untuk himpunan data yang ingin Anda gunakan.

    Screenshot of the Navigator emphasizing the data you've selected.

  8. Cara paling optimal untuk menentukan filter Kunci Partisi (sehingga fungsi agregat dapat didorong ke Cosmos DB) adalah dengan menggunakan parameter M dinamis. Untuk menggunakan parameter M dinamis, Anda akan membuat himpunan data dengan nilai Kunci Partisi unik, membuat parameter, menambahkannya sebagai filter pada himpunan data utama, mengikatnya ke himpunan data kunci Partisi unik, dan menggunakannya sebagai pemotong untuk himpunan data utama. Gunakan langkah-langkah berikut untuk mengaktifkan parameter M dinamis untuk pemfilteran Kunci Partisi.

    a. Membuat himpunan data dengan nilai kunci partisi unik:

    Di Navigator, pilih Ubah Data alih-alih Muat untuk memunculkan editor Power Query. Klik kanan pada himpunan data kueri, lalu pilih Duplikat untuk membuat himpunan data baru.

    Screenshot showing how to select duplicate from your existing query in the Power Query editor.

    Ganti nama model Kunci Partisi baru, lalu klik kanan pada kolom kunci partisi Cosmos DB. Dalam contoh ini, Produk adalah kolom kunci partisi Cosmos DB. Pilih Hapus Kolom Lain, lalu pilih Hapus Duplikat.

    Screenshot showing the unique Partition Keys in Power Query editor.

    b. Membuat parameter untuk pemfilteran dinamis:

    Di editor Power Query, pilih Kelola Parameter>Baru Parameter. Ganti nama parameter baru untuk mencerminkan parameter filter dan memasukkan nilai yang valid sebagai Nilai Saat Ini.

    Screenshot showing how to create a parameter in the Power Query editor.

    c. Menerapkan filter berparameter pada himpunan data utama:

    Pilih ikon dropdown dari kolom Kunci Partisi, lalu pilih Filter>Teks Sama dengan. Ubah jenis filter dari Teks ke Parameter. Kemudian pilih parameter yang dibuat di langkah b. Pilih Tutup & Terapkan di sudut kiri atas editor Power Query.

    Screenshot showing the steps to apply the parameterized filter.

    d. Membuat pemotong nilai Kunci Partisi dengan pengikatan parameter:

    Di Power BI, pilih tab Model . Lalu pilih bidang Kunci Partisi. Dari panel Properti, pilih Ikatan Tingkat Lanjut>ke parameter. Pilih parameter yang dibuat di langkah b.

    Screenshot showing the steps to bind the parameter.

    Pilih tab Laporan dan tambahkan pemotong dengan Kunci Partisi unik.

    Screenshot of the slicer.

    e. Menambahkan visualisasi dan menerapkan filter Kunci Partisi dari pemotong:

    Karena nilai kunci partisi yang dipilih pada pemotong terikat ke parameter (seperti yang dilakukan pada langkah d) dan filter berparameter diterapkan pada himpunan data utama (seperti yang dilakukan pada langkah c), nilai kunci partisi yang dipilih diterapkan sebagai filter pada himpunan data utama dan kueri dengan filter kunci partisi diteruskan ke Cosmos DB di semua visualisasi.

    Screenshot of the visualization after the partition key filter is applied.

Pilihan tingkat lanjut

Power Query menyediakan sekumpulan opsi tingkat lanjut yang bisa Anda tambahkan ke kueri Anda jika diperlukan.

Tabel berikut ini mencantumkan semua opsi tingkat lanjut yang bisa Anda atur di Power Query.

Opsi tingkat lanjut Deskripsi
Jumlah Percobaan Ulang Berapa kali untuk mencoba kembali jika ada kode pengembalian HTTP dari 408 - Request Timeout, , 412 - Precondition Failedatau 429 - Too Many Requests. Jumlah default percobaan ulang adalah 5.
Aktifkan Passdown fungsi AVERAGE Menentukan apakah konektor mengizinkan pass-down fungsi agregat AVG ke Cosmos DB. Nilai defaultnya adalah 1 dan konektor mencoba meneruskan fungsi agregat AVG ke Cosmos DB, secara default. Jika argumen berisi nilai string, boolean, atau null untuk fungsi agregat AVG, kumpulan hasil yang tidak ditentukan dikembalikan oleh server Cosmos DB. Ketika diatur ke nilai 0, fungsi agregat AVG tidak diteruskan ke server Cosmos DB, dan konektor menangani melakukan operasi agregasi AVG itu sendiri.
Mengaktifkan SORT Passdown untuk beberapa kolom Menentukan apakah konektor memungkinkan beberapa kolom diteruskan ke Cosmos DB saat ditentukan dalam klausa ORDER BY dari kueri SQL. Nilai defaultnya adalah 0 dan jika lebih dari satu kolom ditentukan dalam klausa ORDER BY, konektor tidak meneruskan kolom secara default dan sebaliknya menangani melakukan urutan dengan sendirinya. Saat diatur ke nilai 1, konektor mencoba meneruskan beberapa kolom ke Cosmos DB saat ditentukan dalam klausa ORDER BY dari kueri SQL. Untuk memungkinkan beberapa kolom diteruskan ke Cosmos DB, pastikan untuk mengatur indeks komposit pada kolom di masing-masing koleksi. Untuk koleksi yang dipartisi, kueri SQL dengan ORDER BY akan diteruskan ke Cosmos DB hanya jika kueri berisi filter pada kunci yang dipartisi. Selain itu, jika ada lebih dari delapan kolom yang ditentukan dalam klausa ORDER BY, konektor tidak meneruskan klausa ORDER BY dan sebaliknya menangani eksekusi pengurutan itu sendiri.

Masalah dan batasan umum

  • Untuk kontainer Cosmos DB yang dipartisi, kueri SQL dengan fungsi agregat diteruskan ke Cosmos DB jika kueri juga berisi filter (klausa WHERE) pada Kunci Partisi. Jika kueri agregat tidak berisi filter pada Kunci Partisi, agregasi dilakukan oleh konektor.

  • Konektor tidak meneruskan fungsi agregat jika dipanggil setelah TOP atau LIMIT diterapkan. Cosmos DB memproses operasi TOP di akhir saat memproses kueri. Misalnya, dalam kueri berikut, TOP diterapkan dalam subkueri, sementara fungsi agregat diterapkan di atas kumpulan hasil tersebut:

    SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • Jika DISTINCT disediakan dalam fungsi agregat, konektor tidak meneruskan fungsi agregat ke Cosmos DB jika klausul DISTINCT disediakan dalam fungsi agregat. Saat ada dalam fungsi agregat, DISTINCT tidak didukung oleh Cosmos DB SQL API.

  • Untuk fungsi agregat SUM, Cosmos DB mengembalikan tidak terdefinisi sebagai tataan hasil jika salah satu argumen dalam SUM adalah string, boolean, atau null. Namun, jika ada nilai null, konektor meneruskan kueri ke Cosmos DB sewaktu-waktu meminta sumber data untuk mengganti nilai null dengan nol sebagai bagian dari perhitungan SUM.

  • Untuk fungsi agregat AVG, Cosmos DB mengembalikan tidak terdefinisi sebagai tataan hasil jika salah satu argumen dalam SUM adalah string, boolean, atau null. Konektor mengekspos properti koneksi untuk menonaktifkan meneruskan fungsi agregat AVG ke Cosmos DB jika perilaku Cosmos DB default ini perlu ditimpa. Ketika passdown AVG dinonaktifkan, itu tidak diteruskan ke Cosmos DB, dan konektor menangani melakukan operasi agregasi AVG itu sendiri. Untuk informasi selengkapnya, buka "Aktifkan PASSDOWN fungsi AVERAGE" di Opsi tingkat lanjut.

  • Kontainer Azure Cosmos DB dengan kunci partisi besar saat ini tidak didukung di Koneksi or.

  • Passdown agregasi dinonaktifkan untuk sintaks berikut karena keterbatasan server:

    • Saat kueri tidak memfilter kunci partisi atau saat filter kunci partisi menggunakan operator OR dengan predikat lain di tingkat atas dalam klausa WHERE.

    • Ketika kueri memiliki satu atau beberapa kunci partisi muncul dalam klausa IS NOT NULL dalam klausa WHERE.

  • Passdown filter dinonaktifkan untuk sintaks berikut karena keterbatasan server:

    • Saat kueri yang berisi satu atau beberapa kolom agregat direferensikan dalam klausa WHERE.