Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dengan aliran data, Anda dapat membawa data dalam jumlah besar ke Power BI atau penyimpanan yang disediakan organisasi Anda. Namun, dalam beberapa kasus, tidak praktis untuk memperbarui salinan lengkap data sumber di setiap refresh. Alternatif yang baik adalah refresh bertahap, yang memberikan manfaat berikut untuk aliran data:
- Refresh terjadi lebih cepat: Hanya data yang diubah yang perlu disegarkan. Misalnya, perbarui hanya lima hari terakhir dari alur data 10 tahun.
- Refresh lebih dapat diandalkan: Misalnya, tidak perlu mempertahankan koneksi jangka panjang ke sistem sumber yang volatil.
- Konsumsi sumber daya berkurang: Lebih sedikit data untuk di-refresh mengurangi konsumsi memori secara keseluruhan dan sumber daya lainnya.
Refresh bertahap tersedia dalam dataflow yang dibuat di Power BI dan Power Apps. Artikel ini memperlihatkan layar dari Power BI, tetapi instruksi ini berlaku untuk aliran data yang dibuat di Power BI atau di Power Apps.
Nota
Saat skema untuk tabel dalam aliran data analitik berubah, refresh penuh terjadi untuk memastikan bahwa semua data yang dihasilkan cocok dengan skema baru. Akibatnya, data apa pun yang disimpan secara bertahap di-refresh dan dalam beberapa kasus, jika sistem sumber tidak menyimpan data historis, akan hilang.
Menggunakan refresh bertahap dalam aliran data yang dibuat di Power BI mengharuskan aliran data berada di ruang kerja dalam kapasitas Premium. Refresh bertahap di Power Apps memerlukan paket per aplikasi atau per pengguna Power Apps, dan hanya tersedia untuk aliran data yang menggunakan Azure Data Lake Storage sebagai lokasi penyimpanan tujuan.
Di Power BI atau Power Apps, menggunakan refresh bertahap mengharuskan data sumber yang dimasukkan ke dalam aliran data memiliki bidang DateTime yang memungkinkan refresh bertahap untuk difilter.
Mengonfigurasi refresh bertahap untuk aliran data
Aliran data dapat berisi banyak tabel. Refresh bertahap disiapkan di tingkat tabel, memungkinkan satu aliran data menahan tabel yang disegarkan sepenuhnya dan tabel yang disegarkan secara bertahap.
Untuk menyiapkan tabel dengan penyegaran bertahap, mulailah dengan mengatur tabel Anda seperti pada tabel lainnya.
Setelah aliran data dibuat dan disimpan, pilih Refresh
bertahap dalam tampilan tabel, seperti yang ditunjukkan pada gambar berikut.
Saat Anda memilih ikon, jendela Pengaturan refresh inkremental muncul. Aktifkan refresh inkremental.
Daftar berikut menjelaskan pengaturan pada jendela Pengaturan Refresh Inkremental .
Tombol pengalih aktif/nonaktif untuk refresh bertahap: Mengaktifkan atau menonaktifkan kebijakan refresh bertahap untuk tabel.
Drop-down bidang filter: Memilih bidang kueri tempat tabel harus difilter untuk kenaikan. Bidang ini hanya berisi bidang DateTime. Anda tidak dapat menggunakan refresh inkremental jika tabel Anda tidak berisi bidang DateTime.
Penting
Pilih bidang tanggal yang tidak berubah untuk filter refresh inkremental. Jika nilai bidang berubah (misalnya, dengan bidang tanggal diubah ), perubahan ini dapat menyebabkan kegagalan refresh karena nilai duplikat dalam data.
Simpan/refresh baris dari masa lalu: Contoh dalam gambar sebelumnya mengilustrasikan beberapa pengaturan berikutnya ini.
Dalam contoh ini, kami menentukan kebijakan refresh untuk menyimpan data lima tahun secara total dan secara bertahap merefresh data 10 hari. Dengan asumsi bahwa tabel di-refresh setiap hari, tindakan berikut dilakukan untuk setiap operasi refresh:
Tambahkan data untuk hari baru.
Segarkan dalam 10 hari, sampai tanggal terkini.
Hapus tahun kalender yang lebih lama dari lima tahun sebelum tanggal saat ini. Misalnya, jika tanggal saat ini adalah 1 Januari 2019, tahun 2013 dihapus.
Penyegaran aliran data pertama mungkin memakan waktu cukup lama untuk mengimpor semua lima tahun-tahun data, namun penyegaran berikutnya kemungkinan akan selesai jauh lebih cepat.
Mendeteksi perubahan data: Refresh bertahap selama 10 hari jauh lebih efisien daripada refresh penuh lima tahun, tetapi Anda mungkin dapat melakukan lebih baik lagi. Saat Anda memilih kotak centang Deteksi perubahan data , Anda dapat memilih kolom tanggal/waktu untuk mengidentifikasi dan me-refresh hanya hari di mana data berubah. Ini mengasumsikan kolom seperti itu ada dalam sistem sumber, yang biasanya untuk tujuan audit. Nilai maksimum kolom ini dievaluasi untuk setiap periode dalam rentang bertahap. Jika data tersebut belum berubah sejak refresh terakhir, tidak perlu merefresh periode. Dalam contoh ini, ini dapat semakin mengurangi jumlah hari yang diperbarui secara bertahap dari 10 menjadi mungkin 2.
Petunjuk / Saran
Desain saat ini mengharuskan kolom yang digunakan untuk mendeteksi perubahan data dipertahankan dan di-cache ke dalam memori. Anda mungkin ingin mempertimbangkan salah satu teknik berikut untuk mengurangi kardinalitas dan konsumsi memori:
- Pertahankan hanya nilai maksimum kolom ini pada saat refresh, mungkin dengan menggunakan fungsi Power Query.
- Kurangi presisi ke tingkat yang dapat diterima mengingat persyaratan frekuensi refresh Anda.
Hanya periode penyegaran selesai: Bayangkan refresh Anda dijadwalkan berjalan pada pukul 04.00 setiap hari. Jika data muncul di sistem sumber selama empat jam pertama hari itu, Anda mungkin tidak ingin memperhitungkannya. Beberapa metrik bisnis, seperti barel per hari di industri minyak dan gas, tidak praktis atau masuk akal untuk memperhitungkan berdasarkan hari parsial.
Contoh lain di mana hanya memperbarui periode lengkap yang sesuai adalah memperbarui data dari sistem keuangan. Bayangkan sistem keuangan di mana data untuk bulan sebelumnya disetujui pada hari kalender ke-12 dalam sebulan. Anda dapat mengatur rentang bertahap ke satu bulan dan menjadwalkan refresh untuk dijalankan pada hari ke-12 dalam sebulan. Dengan opsi ini dipilih, sistem akan me-refresh data Januari (periode bulanan lengkap terbaru) pada 12 Februari.
Nota
Refresh bertahap aliran data menentukan tanggal sesuai dengan logika berikut: jika refresh dijadwalkan, refresh bertahap untuk aliran data menggunakan zona waktu yang ditentukan dalam kebijakan refresh. Jika tidak ada jadwal untuk refresh, refresh inkremental menggunakan waktu dari komputer yang menjalankan refresh.
Setelah refresh bertahap dikonfigurasi, aliran data secara otomatis mengubah kueri Anda untuk menyertakan pemfilteran menurut tanggal. Jika aliran data dibuat di Power BI, Anda juga bisa mengedit kueri yang dibuat secara otomatis dengan menggunakan editor tingkat lanjut di Power Query untuk menyempurnakan atau menyesuaikan refresh Anda. Baca selengkapnya tentang refresh inkremental dan cara kerjanya di bagian berikut.
Nota
Saat Anda mengedit aliran data, editor Power Query tersambung ke sumber data secara langsung dan tidak memperlihatkan data yang di-cache atau difilter dalam aliran data setelah kebijakan refresh bertahap memprosesnya. Untuk memeriksa data yang di-cache di dalam aliran data, sambungkan dari Power BI Desktop ke aliran data setelah mengonfigurasi kebijakan refresh bertahap dan me-refresh aliran data.
Refresh bertahap dan tabel terhubung vs. tabel terhitung
Untuk tabel tertaut, refresh inkremental memperbarui tabel sumber. Karena tabel tertaut hanyalah penunjuk ke tabel asli, refresh inkremental tidak berdampak pada tabel tertaut. Ketika tabel sumber di-refresh sesuai dengan kebijakan refresh yang ditentukan, tabel tertaut apa pun harus mengasumsikan data di sumber disegarkan.
Tabel komputasi didasarkan pada kueri yang berjalan di atas penyimpanan data, yang bisa menjadi aliran data lain. Dengan demikian, tabel komputasi berperilaku sama seperti tabel tertaut.
Karena tabel komputasi dan tabel tertaut berperilaku sama, persyaratan dan langkah konfigurasinya sama untuk keduanya. Salah satu perbedaannya adalah bahwa untuk tabel komputasi, dalam konfigurasi tertentu, refresh bertahap tidak dapat berjalan dengan cara yang dioptimalkan karena cara partisi dibangun.
Mengubah antara pembaruan inkremental dan penuh
Aliran data mendukung perubahan kebijakan refresh antara refresh bertahap dan penuh. Ketika perubahan terjadi di kedua arah (penuh ke bertahap atau sebaliknya, bertahap ke penuh), perubahan ini memengaruhi aliran data setelah refresh berikutnya.
Saat Anda memindahkan aliran data dari penyegaran penuh ke penyegaran bertingkat, logika penyegaran baru memperbarui aliran data dengan mematuhi jendela penyegaran dan kenaikan yang didefinisikan dalam pengaturan penyegaran bertahap.
Saat Anda memindahkan aliran data dari penyegaran bertambah ke penyegaran penuh, semua data yang terakumulasi dalam penyegaran bertahap akan menimpa kebijakan yang ditentukan dalam penyegaran penuh. Anda harus menyetujui tindakan ini.
Dukungan zona waktu dalam refresh secara inkremental
Pembaruan inkremental aliran data tergantung pada waktu pelaksanaannya. Pemfilteran kueri bergantung pada hari pelaksanaan.
Untuk mengakomodasi dependensi tersebut dan untuk memastikan konsistensi data, refresh inkremental untuk aliran data menerapkan heuristik berikut untuk skenario refresh sekarang :
Dalam kasus di mana refresh terjadwal didefinisikan dalam sistem, refresh inkremental menggunakan pengaturan zona waktu dari bagian refresh terjadwal. Proses ini memastikan bahwa di zona waktu mana pun orang yang melakukan penyegaran aliran data berada, aliran data akan selalu sesuai dengan definisi sistem.
Jika tidak ada refresh terjadwal yang ditentukan, aliran data menggunakan zona waktu dari komputer pengguna yang melakukan refresh.
Refresh inkremental juga dapat dipanggil dengan menggunakan API. Dalam hal ini, panggilan API dapat menyimpan pengaturan zona waktu yang digunakan dalam refresh. Menggunakan API dapat membantu untuk tujuan pengujian dan validasi.
Detail implementasi refresh bertahap
Aliran data menggunakan partisi untuk refresh bertahap. Refresh inkremental pada aliran data menjaga partisi seminimal mungkin untuk memenuhi persyaratan kebijakan penyegaran. Partisi lama yang keluar dari jangkauan dihilangkan, sehingga mempertahankan jendela geser. Partisi digabungkan secara oportunistik, mengurangi jumlah total partisi yang diperlukan. Jumlah minimum partisi ini meningkatkan pemadatan dan, dalam beberapa kasus, dapat meningkatkan performa kueri.
Contoh di bagian ini berbagi kebijakan refresh berikut:
- Simpan baris dalam 1 Kuartal terakhir
- Refresh baris dalam 10 hari terakhir
- Mendeteksi perubahan data = False
- Hanya segarkan hari penuh = True
Gabungkan partisi
Dalam contoh ini, partisi hari secara otomatis digabungkan ke tingkat bulan setelah mereka pergi ke luar rentang inkremental. Partisi dalam rentang inkremental perlu dipertahankan pada granularitas harian untuk memungkinkan hanya hari-hari tersebut untuk disegarkan. Operasi refresh dengan Run Date 12/11/2016 menggabungkan hari dalam bulan November, karena berada di luar rentang inkremental.
Hilangkan partisi lama
Partisi lama yang berada di luar rentang keseluruhan dihapus. Operasi refresh dengan Run Date 1/2/2017 menghapus partisi untuk Q3 tahun 2016 karena berada di luar rentang total.
Pemulihan dari kegagalan yang berkepanjangan
Contoh ini mensimulasikan bagaimana sistem pulih dengan anggun dari kegagalan yang berkepanjangan. Katakanlah refresh tidak berjalan dengan sukses karena kredensial sumber data kedaluwarsa, dan masalah membutuhkan waktu 13 hari untuk diselesaikan. Rentang peningkatan hanya 10 hari.
Operasi refresh berikutnya yang berhasil, dengan Jalankan Tanggal 15/1/2017, perlu mengisi ulang 13 hari yang hilang dan merefreshnya. Ini juga perlu menyegarkan sembilan hari terakhir karena tidak diperbarui sesuai jadwal normal. Dengan kata lain, rentang inkremental ditingkatkan dari 10 menjadi 22 hari.
Operasi refresh berikutnya, dengan Tanggal Berjalan 16/01/2017, memanfaatkan kesempatan untuk menggabungkan hari-hari di bulan Desember dan bulan-bulan di kuartal keempat 2016.
Refresh inkremental aliran data dan himpunan data
Penyegaran bertahap aliran data dan penyegaran bertahap kumpulan data dirancang untuk bekerja secara bersamaan. Dapat diterima dan didukung untuk memiliki tabel yang diperbarui secara bertahap dalam aliran data yang sepenuhnya dimuat ke dalam himpunan data, atau tabel yang sepenuhnya dimuat dalam aliran data yang kemudian dimuat secara bertahap ke himpunan data.
Kedua pendekatan berfungsi sesuai dengan definisi yang Anda tentukan dalam pengaturan refresh. Informasi selengkapnya: Pembaruan inkremental di Power BI Premium
Konten terkait
Artikel ini menjelaskan refresh bertahap untuk aliran data. Berikut adalah beberapa artikel lain yang mungkin berguna:
- Persiapan data layanan mandiri di Power BI
- Membuat tabel komputasi dalam aliran data
- Menyambungkan ke sumber data untuk aliran data
- Menautkan tabel antar aliran data
- Membuat dan menggunakan aliran data di Power BI
- Menggunakan aliran data dengan sumber data lokal
- Sumber daya pengembang untuk aliran data Power BI
Untuk informasi selengkapnya tentang Power Query dan refresh terjadwal, Anda bisa membaca artikel ini:
Untuk informasi selengkapnya tentang Common Data Model, Anda dapat membaca artikel gambaran umumnya: