Mengelola mode penyimpanan dalam Power BI Desktop

Di Microsoft Power BI Desktop, Anda dapat menentukan mode penyimpanan tabel. Mode penyimpanan memungkinkan Anda mengontrol apakah Power BI Desktop menyimpan data tabel dalam memori untuk laporan atau tidak. Penembolokan berarti menyimpan data dalam memori untuk sementara waktu.

Mengatur mode penyimpanan memberikan banyak keuntungan. Anda dapat mengatur mode penyimpanan untuk setiap tabel satu per satu dalam model Anda. Tindakan ini memungkinkan model semantik tunggal, yang memberikan manfaat berikut:

  • Performa kueri: Saat pengguna berinteraksi dengan visual dalam laporan Power BI, kueri Data Analysis Expressions (DAX) dikirimkan ke model semantik. Penembolokan data ke dalam memori dengan mengatur mode penyimpanan dengan benar dapat meningkatkan performa kueri dan interaktivitas laporan Anda.

  • Model semantik besar: Tabel yang tidak di-cache tidak menggunakan memori untuk tujuan penembolokan. Anda dapat mengaktifkan analisis interaktif atas model semantik besar yang terlalu besar atau mahal untuk sepenuhnya di-cache ke dalam memori. Anda dapat memilih tabel mana yang layak untuk penembolokan, dan mana yang tidak.

  • Pengoptimalan refresh data: Anda tidak perlu me-refresh tabel yang tidak di-cache. Anda dapat mengurangi waktu refresh dengan melakukan penembolokan hanya pada data yang diperlukan untuk memenuhi perjanjian tingkat layanan dan persyaratan bisnis Anda.

  • Persyaratan hampir real time: Tabel dengan persyaratan hampir real time mungkin mendapat manfaat dari tidak di-cache, untuk mengurangi latensi data.

  • Writeback: Writeback memungkinkan pengguna bisnis untuk menjelajahi skenario bagaimana-jika dengan mengubah nilai sel. Aplikasi kustom dapat menerapkan perubahan pada sumber data. Tabel yang tidak di-cache dapat segera menampilkan perubahan, yang memungkinkan analisis efek secara instan.

Pengaturan mode penyimpanan di Power BI Desktop adalah salah satu dari tiga fitur terkait:

  • Model komposit: Memungkinkan laporan memiliki dua koneksi data atau lebih, termasuk koneksi DirectQuery atau Impor, dalam kombinasi apa pun. Untuk informasi selengkapnya, lihat Menggunakan model komposit di Power BI Desktop.

  • Hubungan banyak ke banyak: Dengan model komposit, Anda dapat membuat hubungan banyak ke banyak antar tabel. Dalam hubungan banyak ke banyak, persyaratan dihapus untuk nilai unik dalam tabel. Persyaratan tersebut juga menghapus solusi sebelumnya, seperti memperkenalkan tabel baru hanya untuk membangun hubungan. Untuk informasi selengkapnya, lihat Hubungan banyak ke banyak di Power BI Desktop.

  • Mode Penyimpanan: Dengan mode penyimpanan, Anda sekarang dapat menentukan visual mana yang memerlukan kueri ke sumber data back-end. Visual yang tidak memerlukan kueri diimpor meskipun berdasarkan DirectQuery. Fitur ini membantu meningkatkan performa dan mengurangi beban back-end. Sebelumnya, bahkan visual sederhana, seperti pemotong, memulai kueri yang dikirim ke sumber back-end.

Menggunakan properti mode Penyimpanan

Properti Mode Penyimpanan adalah properti yang dapat Anda atur pada setiap tabel dalam model Anda dan mengontrol cara Power BI melakukan cache pada data tabel.

Untuk mengatur properti Mode Penyimpanan, atau melihat pengaturannya saat ini:

  1. Dalam tampilan Model , pilih tabel yang propertinya ingin Anda tampilkan atau atur.

  2. Di panel Properti, perluas bagian Tingkat Lanjut, dan perluas menu drop-down Mode Penyimpanan.

    Screenshot of Relationship view highlight the option drop-down to change the storage mode.

Anda mengatur properti Mode Penyimpanan ke salah satu dari tiga nilai ini:

  • Impor: Tabel yang diimpor dengan pengaturan ini di-cache. Kueri yang dikirimkan ke model semantik Power BI yang mengembalikan data dari tabel Impor hanya dapat dipenuhi dari data yang di-cache.

  • DirectQuery: Tabel dengan pengaturan ini tidak di-cache. Kueri yang Anda kirimkan ke model semantik Power BI - misalnya, kueri DAX - dan yang mengembalikan data dari tabel DirectQuery hanya dapat dipenuhi dengan menjalankan kueri sesuai permintaan ke sumber data. Kueri yang Anda kirimkan ke sumber data menggunakan bahasa kueri untuk sumber data tersebut, misalnya, SQL.

  • Ganda: Tabel dengan pengaturan ini dapat bertindak sebagai cache atau tidak di-cache, tergantung pada konteks kueri yang dikirimkan ke model semantik Power BI. Dalam beberapa kasus, Anda memenuhi kueri dari data yang di-cache. Dalam kasus lain, Anda memenuhi kueri dengan menjalankan kueri sesuai permintaan ke sumber data.

Mengubah Mode Penyimpanan tabel menjadi Impor adalah operasi yang tidak dapat diubah. Setelah properti ini diatur, properti ini nantinya tidak dapat diubah ke DirectQuery atau Dual.

Catatan

Anda dapat menggunakan mode penyimpanan Dual di Power BI Desktop dan layanan Power BI.

Batasan pada tabel DirectQuery dan Dual

Tabel ganda memiliki batasan fungsional yang sama dengan tabel DirectQuery. Batasan ini termasuk transformasi M terbatas dan fungsi DAX terbatas dalam kolom terhitung. Untuk informasi selengkapnya, lihat Batasan DirectQuery.

Penyebaran pengaturan Dual

Pertimbangkan model berikut, di mana semua tabel berasal dari satu sumber yang mendukung Impor dan DirectQuery.

Screenshot of the example Relationship view for storage mode.

Katakanlah semua tabel dalam model ini awalnya diatur ke DirectQuery. Jika Anda kemudian mengubah Mode Penyimpanan tabel SurveyResponse menjadi Impor, jendela peringatan berikut ditampilkan:

Screenshot showing a warning window that describes the results of changing the storage mode to Import.

Anda dapat mengatur tabel dimensi (Pelanggan, Geografi, dan Tanggal) ke Ganda untuk mengurangi jumlah hubungan terbatas dalam model semantik, dan meningkatkan performa. Hubungan terbatas biasanya melibatkan setidaknya satu tabel DirectQuery di mana logika gabungan tidak dapat didorong ke sistem sumber. Karena tabel Dual dapat bertindak sebagai tabel DirectQuery atau Impor, situasi ini dihindari.

Logika penyebaran dirancang untuk membantu model yang berisi banyak tabel. Misalkan Anda memiliki model dengan 50 tabel dan hanya tabel fakta (transaksional) tertentu yang perlu di-cache. Logika dalam Power BI Desktop menghitung kumpulan tabel dimensi minimum yang harus diatur ke Dual, sehingga Anda tidak perlu melakukannya.

Logika penyebaran hanya melintasi ke satu sisi hubungan satu-ke-banyak.

Contoh penggunaan mode Penyimpanan

Bayangkan menerapkan pengaturan properti mode penyimpanan berikut:

Table Mode penyimpanan
Penjualan DirectQuery
TanggapanSurvei Import
Date Ganda
Pelanggan Ganda
Geografi Ganda

Mengatur properti mode penyimpanan ini menghasilkan perilaku berikut, dengan asumsi bahwa tabel Penjualan memiliki volume data yang signifikan:

  • Power BI Desktop melakukan cache pada tabel dimensi, Tanggal, Pelanggan, dan Geografi, sehingga waktu pemuatan laporan awal menjadi cepat ketika mereka mengambil nilai pemotong untuk ditampilkan.

  • Power BI Desktop tidak melakukan chache pada tabel Penjualan. Power BI Desktop menyediakan hasil berikut dengan tidak menyimpan cache tabel ini:

    • Waktu refresh data ditingkatkan, dan konsumsi memori berkurang.
    • Kueri laporan yang didasarkan pada tabel Penjualan yang dijalankan dalam mode DirectQuery. Kueri ini mungkin memakan waktu lebih lama tetapi lebih dekat ke real time, karena tidak ada latensi penembolokan yang diperkenalkan.
  • Kueri laporan yang didasarkan pada tabel SurveyResponse dikembalikan dari cache dalam memori, dan oleh karena itu relatif cepat.

Kueri yang mengenai atau melewatkan cache

Jika Anda menyambungkan SQL Profiler ke port diagnostik untuk Power BI Desktop, Anda dapat melihat kueri mana yang mencapai atau melewatkan cache dalam memori dengan melakukan pelacakan yang didasarkan pada peristiwa berikut:

  • Peristiwa Kueri\Kueri Dimulai
  • Pemrosesan Kueri Processing\Vertipaq SE Dimulai
  • Pemrosesan Kueri\DirectQuery Dimulai

Untuk setiap peristiwa Kueri Dimulai, periksa peristiwa lain dengan ActivityID yang sama. Misalnya, jika tidak ada peristiwa DirectQuery Dimulai, tetapi ada peristiwa Kueri Vertipaq SE Dimulai, kueri akan dijawab dari cache.

Kueri yang merujuk ke tabel Dual mengembalikan data dari cache, jika memungkinkan; jika tidak, mereka kembali ke DirectQuery.

Kueri berikut berlanjut dari tabel sebelumnya. Ini hanya merujuk ke kolom dari tabel Tanggal , yang berada dalam mode Ganda . Oleh karena itu, kueri harus mengenai cache:

Screenshot showing the text of query that refers to the Date table.

Kueri berikut hanya merujuk ke kolom dari tabel Penjualan, yang berada dalam mode DirectQuery. Oleh karena itu , seharusnya tidak mengenai cache:

Screenshot showing the text of query that refers the Sales table.

Kueri berikut menarik karena menggabungkan kedua kolom. Kueri ini tidak mengenai cache. Anda mungkin awalnya mengharapkannya untuk mengambil nilai CalendarYear dari cache dan nilai SalesAmount dari sumber lalu menggabungkan hasilnya, tetapi pendekatan ini kurang efisien daripada mengirimkan operasi SUM/GROUP BY ke sistem sumber. Jika operasi didorong ke sumber, jumlah baris yang dikembalikan kemungkinan akan jauh lebih sedikit:

Screenshot showing the text of query that refers to both the Date table and the Sales table.

Catatan

Perilaku ini berbeda dari hubungan banyak ke banyak dalam Power BI Desktop saat tabel yang di-cache dan tidak di-cache digabungkan.

Cache harus tetap sinkron

Kueri yang ditampilkan di bagian sebelumnya menunjukkan bahwa tabel Dual terkadang mengenai cache dan terkadang tidak. Akibatnya, jika cache sudah kedaluwarsa, nilai yang berbeda dapat dikembalikan. Eksekusi kueri tidak akan mencoba menutupi masalah data dengan, misalnya, memfilter hasil DirectQuery agar sesuai dengan nilai yang di-cache. Anda bertanggung jawab untuk mengetahui aliran data Anda, dan Anda harus merancangnya dengan sesuai. Ada teknik yang mapan untuk menangani kasus seperti itu di sumbernya, jika perlu.

Mode penyimpanan Dual adalah pengoptimalan performa. Mode ini harus digunakan hanya dengan cara yang tidak membahayakan kemampuan untuk memenuhi persyaratan bisnis. Untuk perilaku alternatif, pertimbangkan untuk menggunakan teknik yang dijelaskan dalam Hubungan banyak ke banyak dalam Power BI Desktop.

Tampilan Data

Jika setidaknya satu tabel dalam model semantik memiliki mode penyimpanannya yang diatur ke Impor atau Ganda, tab Tampilan data dapat ditampilkan.

Screenshot highlighting the Data view icon.

Saat Anda memilih tabel Dual dan Impor dalam tampilan Data, tabel tersebut menampilkan data yang di-cache. Tabel DirectQuery tidak menampilkan data, dan pesan ditampilkan yang menyatakan bahwa tabel DirectQuery tidak dapat ditampilkan.

Pertimbangan dan batasan

Ada beberapa batasan untuk rilis mode penyimpanan saat ini dan korelasinya dengan model komposit.

Sumber koneksi langsung (multi-dimensi) berikut tidak dapat digunakan dengan model komposit:

  • SAP HANA
  • SAP Business Warehouse

Saat Tersambung ke sumber multidirektori tersebut menggunakan DirectQuery, Anda tidak dapat tersambung ke sumber DirectQuery lain atau menggabungkannya dengan data yang diimpor.

Batasan penggunaan DirectQuery yang ada masih berlaku saat Anda menggunakan model komposit. Banyak dari batasan tersebut sekarang menjadi per tabel, tergantung pada mode penyimpanan tabel. Misalnya, kolom terhitung pada tabel yang diimpor dapat merujuk ke tabel lain, tetapi kolom terhitung pada tabel DirectQuery masih dibatasi untuk merujuk hanya ke kolom pada tabel yang sama. Batasan lain berlaku untuk model secara keseluruhan, jika salah satu tabel dalam model adalah DirectQuery.

Untuk informasi selengkapnya tentang model komposit dan DirectQuery, lihat artikel berikut ini: