Mengonfigurasi refresh bertahap dan data real-time

Artikel ini menjelaskan cara mengonfigurasi refresh bertahap dan data real time untuk model semantik. Untuk mempelajari tentang mengonfigurasi refresh bertahap untuk aliran data, lihat Fitur premium aliran data - Refresh bertahap.

Mengonfigurasi refresh bertahap mencakup pembuatan parameter RangeStart dan RangeEnd, menerapkan filter, dan menentukan kebijakan refresh bertahap. Setelah menerbitkan ke layanan Power BI, Anda akan melakukan operasi refresh awal pada model. Operasi refresh awal, dan operasi refresh berikutnya menerapkan kebijakan refresh bertahap yang Anda tentukan. Sebelum menyelesaikan langkah-langkah ini, pastikan Anda sepenuhnya memahami fungsionalitas yang dijelaskan dalam Refresh bertahap dan data real-time untuk model semantik.

Membuat parameter

Dalam tugas ini, Anda akan menggunakan Editor Power Query untuk membuat parameter RangeStart dan RangeEnd dengan nilai default. Nilai default hanya berlaku saat memfilter data yang akan dimuat ke dalam model dalam Power BI Desktop. Nilai yang Anda masukkan hanya boleh menyertakan sejumlah kecil data terbaru dari sumber data Anda. Saat diterbitkan ke layanan, nilai rentang waktu ini ditimpa oleh kebijakan refresh bertambah bertahap. Artinya, kebijakan membuat jendela data masuk, satu demi satu.

  1. Di Power BI Desktop, pilih Ubah data pada pita Beranda untuk membuka Editor Power Query.

  2. Pilih menu dropdown Kelola Parameter lalu pilih Parameter Baru.

  3. Di bidang Nama, masukkan RangeStart (peka huruf besar/kecil). Di bidang Jenis, pilih Tanggal/Waktu dari menu dropdown. Di bidang Nilai Saat Ini, masukkan nilai tanggal dan waktu mulai.

    Define the Range Start parameter in the Manage Parameters dialog.

  4. Pilih Baru untuk membuat parameter kedua bernama RangeEnd. Di bidang Jenis, pilih Tanggal/Waktu, lalu di bidang Nilai Saat Ini masukkan nilai tanggal dan waktu akhir. Pilih OK.

    Define the Range End parameter in the Manage Parameters dialog.

Setelah menentukan parameter RangeStart dan RangeEnd, Anda akan memfilter data yang akan dimuat ke dalam model berdasarkan parameter tersebut.

Filter data

Catatan

Sebelum melanjutkan tugas ini, verifikasi tabel sumber Anda memiliki kolom tanggal tipe data Tanggal/Waktu. Jika tidak memiliki kolom Tanggal/Waktu, tetapi memiliki kolom tanggal kunci pengganti bilangan yyyymmddbulat dalam bentuk , ikuti langkah-langkah dalam Mengonversi DateTime ke bilangan bulat nanti dalam artikel ini untuk membuat fungsi yang mengonversi nilai tanggal/waktu dalam parameter agar sesuai dengan kunci pengganti bilangan bulat tabel sumber.

Sekarang Anda akan menerapkan filter berdasarkan kondisi dalam parameter RangeStart dan RangeEnd.

  1. Di Editor Power Query, pilih kolom tanggal yang ingin Anda filter, lalu pilih panah >dropdown Filter Kustom Filter>Tanggal.

  2. Di Filter Baris, untuk menentukan kondisi pertama, pilih adalah setelah atau setelah atau sama dengan, lalu pilih Parameter, lalu pilih RentangMulai.

    Untuk menentukan kondisi kedua, jika Anda memilih adalah setelah dalam kondisi pertama, maka pilih adalah sebelum atau sama dengan, atau jika Anda memilih adalah setelah atau sama dengan dalam kondisi pertama, maka pilih sebelum untuk kondisi kedua, lalu pilih Parameter, lalu pilih RangeEnd.

    Filter rows dialog showing Range Start and Range End conditions.

    Penting: Verifikasi kueri memiliki sama dengan (=) pada RangeStart atau RangeEnd, tetapi tidak keduanya. Jika sama dengan (=) ada pada kedua parameter, sebuah baris dapat memenuhi kondisi untuk dua partisi, yang dapat menyebabkan data duplikat dalam model. Misalnya, = Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) dapat menghasilkan data duplikat jika ada OrderDate yang sama dengan RangeStart dan RangeEnd.

    Pilih OK untuk menutup.

  3. Pada pita Beranda di Editor Power Query, pilih Tutup & Terapkan. Power Query memuat data berdasarkan filter yang ditentukan oleh parameter RangeStart dan RangeEnd, dan filter lain yang telah Anda tentukan.

    Power Query hanya memuat data yang ditentukan antara parameter RangeStart dan RangeEnd. Bergantung pada jumlah data dalam periode tersebut, tabel harus dimuat dengan cepat. Jika tampaknya lambat dan intensif proses, kemungkinan kueri tidak dilipat.

Tentukan kebijakan

Setelah menentukan parameter RangeStart dan RangeEnd, dan memfilter data berdasarkan parameter tersebut, Anda akan menentukan kebijakan refresh tambahan. Kebijakan ini diterapkan hanya setelah model diterbitkan ke layanan, dan operasi refresh manual atau terjadwal dilakukan.

  1. Dalam Tampilan data, klik kanan tabel di panel Data dan pilih Refresh bertahas.

    Data view showing Table context menu with Incremental refresh selected.

  2. Pada Refresh bertahap dan data real-time>Pilih tabel, verifikasi atau pilih tabel. Nilai default kotak daftar Pilih tabel adalah tabel yang Anda pilih dalam tampilan Data.

  3. Tentukan pengaturan yang diperlukan:

    Di Atur rentang>impor dan refresh Secara bertahap refresh tabel ini pindahkan penggelor ke Aktif. Jika slider dinonaktifkan, artinya ekspresi Power Query untuk tabel tidak menyertakan filter berdasarkan parameter RangeStart dan RangeEnd.

    Di Mengarsipkan data yang dimulai, tentukan periode penyimpanan historis yang ingin Anda sertakan dalam model. Semua baris dengan tanggal dalam periode ini akan dimuat ke dalam model dalam layanan, kecuali filter lain berlaku.

    Di Mulai refresh data secara bertahap, tentukan periode refresh . Semua baris dengan tanggal dalam periode ini akan di-refresh dalam model setiap kali operasi refresh manual atau terjadwal dilakukan oleh layanan Power BI.

  4. Tentukan pengaturan opsional:

    Di Pilih pengaturan opsional, pilih Dapatkan data terbaru secara real time dengan DirectQuery (hanya Premium) untuk menyertakan perubahan data terbaru yang terjadi di sumber data setelah periode refresh terakhir. Pengaturan ini menyebabkan kebijakan refresh bertahap menambahkan partisi DirectQuery ke tabel.

    Pilih Hanya refresh hari yang selesai untuk refresh hanya sepanjang hari. Jika operasi refresh mendeteksi hari tidak selesai, baris untuk seluruh hari tersebut tidak disegarkan. Opsi ini diaktifkan secara otomatis saat Anda memilih Dapatkan data terbaru secara real time dengan DirectQuery (khusus Premium).

    Pilih Deteksi perubahan data untuk menentukan kolom tanggal/waktu yang digunakan untuk mengidentifikasi dan me-refresh hari di mana data telah berubah saja. Kolom tanggal/waktu harus ada, biasanya untuk tujuan audit, di sumber data. Kolom ini tidak boleh menjadi kolom yang sama yang digunakan untuk mempartisi data dengan parameter RangeStart dan RangeEnd. Nilai maksimum kolom ini dievaluasi untuk setiap periode dalam rentang bertahap. Jika belum berubah sejak refresh terakhir, periode saat ini tidak disegarkan. Untuk model yang diterbitkan ke kapasitas Premium, Anda juga dapat menentukan kueri kustom. Untuk mempelajari selengkapnya, lihat Refresh bertahap tingkat lanjut - Kueri kustom untuk mendeteksi perubahan data.

    Bergantung pada pengaturan Anda, kebijakan Anda akan terlihat seperti ini:

    Incremental refresh and real-time data policy dialog showing incremental refresh range.

  5. Tinjau pengaturan Anda lalu pilih Terapkan untuk menyelesaikan kebijakan refresh. Langkah ini tidak memuat data.

Menyimpan dan menerbitkan ke layanan

Sekarang setelah parameter RangeStart dan RangeEnd Anda, pemfilteran, dan pengaturan kebijakan refresh selesai, simpan model Anda, lalu terbitkan ke layanan. Jika model Anda akan menjadi besar, pastikan untuk mengaktifkan Formatpenyimpanan model besar sebelum memanggil refresh pertama dalam layanan.

Merefresh model

Dalam layanan, refresh model. Refresh pertama akan memuat data baru dan yang diperbarui dalam periode refresh serta data historis untuk seluruh periode penyimpanan. Tergantung pada jumlah data, refresh ini bisa memakan waktu cukup lama. Refresh berikutnya, baik manual atau terjadwal, biasanya jauh lebih cepat karena kebijakan refresh bertahap diterapkan dan hanya data untuk periode yang ditentukan dalam pengaturan kebijakan refresh disegarkan.

Mengonversi DateTime menjadi bilangan bulat

Tugas ini hanya diperlukan jika tabel Anda menggunakan kunci pengganti bilangan bulat alih-alih nilai Tanggal/Waktu di kolom tanggal yang Anda gunakan untuk definisi filter RangeStart dan RangeEnd.

Jenis data parameter RangeStart dan RangeEnd harus berjenis data tanggal/waktu terlepas dari jenis data kolom tanggal. Namun, untuk banyak sumber data, tabel tidak memiliki kolom jenis data tanggal/waktu tetapi sebaliknya memiliki kolom tanggal kunci pengganti bilangan bulat dalam bentuk yyyymmdd. Anda biasanya tidak dapat mengonversi kunci pengganti bilangan bulat ini ke jenis data Tanggal/Waktu karena hasilnya akan menjadi ekspresi kueri non-lipat, tetapi Anda dapat membuat fungsi yang mengonversi nilai tanggal/waktu dalam parameter agar sesuai dengan kunci pengganti bilangan bulat tabel sumber data tanpa kehilangan lipatan. Fungsi ini kemudian dipanggil dalam langkah filter. Langkah konversi ini diperlukan jika tabel sumber data hanya berisi kunci pengganti sebagai jenis data bilangan bulat.

  1. Pada pita Beranda di Editor Power Query, pilih menu dropdown Sumber Baru lalu pilih Kueri Kosong.

  2. Di Pengaturan Kueri, masukkan nama, misalnya, DateKey, lalu di editor rumus, masukkan rumus berikut:

    = (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

    Power BI function editor showing the integer surrogate DateKey function.

  3. Untuk menguji rumus, di Masukkan Parameter, masukkan nilai tanggal/waktu, lalu pilih Panggil. Jika rumus sudah benar, nilai bilangan bulat untuk tanggal tersebut dikembalikan. Setelah memverifikasi, hapus kueri Fungsi Yang Dipanggil baru ini.

  4. Dalam Kueri, pilih tabel, lalu edit rumus kueri untuk memanggil fungsi dengan parameter RangeStart dan RangeEnd.

    = Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    Power BI table showing DateKey filter.