Bagikan melalui


Menggunakan refresh inkremental dengan aliran data

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, refresh hanya lima hari terakhir dari aliran 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 di aliran data yang dibuat di Power BI dan aliran data yang dibuat di 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.

Catatan

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.

Refresh bertahap untuk aliran data.

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 dengan Azure Data Lake Storage sebagai tujuan.

Di Power BI atau Power Apps, menggunakan refresh bertahap mengharuskan data sumber yang diserap ke dalam aliran data memiliki bidang DateTime tempat refresh bertahap dapat 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 yang disegarkan bertambah bertahap, mulailah dengan mengonfigurasi tabel Anda seperti yang Anda lakukan pada tabel lainnya.

Setelah aliran data dibuat dan disimpan, pilih Refresh Refresh bertahap.bertahap dalam tampilan tabel, seperti yang ditunjukkan pada gambar berikut.

Ikon refresh bertahap untuk aliran data.

Saat Anda memilih ikon, jendela Pengaturan refresh inkremental muncul. Aktifkan refresh inkremental.

Refresh bertahap untuk aliran data.

Daftar berikut menjelaskan pengaturan di jendela Pengaturan refresh inkremental.

  • Pengalih aktif/nonaktif 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 ), 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 hari data baru.

    • Refresh 10 hari, hingga tanggal saat ini.

    • 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.

    Refresh aliran data pertama mungkin memakan waktu cukup lama untuk mengimpor semua lima tahun, tetapi refresh 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 telah 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 dapat lebih mengurangi hari yang disegarkan secara bertahap dari 10 menjadi mungkin 2.

    Tip

    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 me-refresh periode lengkap yang sesuai adalah menyegarkan 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.

Catatan

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 penyegaran, refresh inkremental menggunakan waktu dari komputer yang menjalankan refresh.

Setelah refresh inkremental 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.

Catatan

Saat Anda mengedit aliran data, editor Power Query tersambung ke sumber data secara langsung dan tidak memperlihatkan data yang di-cache/difilter dalam aliran data setelah diproses oleh kebijakan refresh bertambah bertahap. 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 tertaut vs. tabel komputasi

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 refresh inkremental dan penuh

Aliran data mendukung perubahan kebijakan refresh antara refresh bertahap dan penuh. Ketika perubahan terjadi di kedua arah (penuh ke bertahap atau bertahap menjadi penuh), perubahan memengaruhi aliran data setelah refresh berikutnya.

Saat memindahkan aliran data dari refresh penuh ke bertambah bertahap, logika refresh baru memperbarui aliran data dengan mematuhi jendela refresh dan kenaikan seperti yang didefinisikan dalam pengaturan refresh bertambah bertahap.

Saat memindahkan aliran data dari inkremental ke refresh penuh, semua data yang diakumulasi dalam refresh bertambah bertahap ditimpa oleh kebijakan yang ditentukan dalam refresh penuh. Anda harus menyetujui tindakan ini.

Dukungan zona waktu dalam refresh inkremental

Refresh inkremental aliran data bergantung pada waktu saat dijalankan. Pemfilteran kueri bergantung pada hari kueri dijalankan.

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. Ini memastikan bahwa zona waktu apa pun orang yang menyegarkan aliran data berada, itu akan selalu konsisten 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 dalam aliran data menjaga jumlah minimum partisi untuk memenuhi persyaratan kebijakan refresh. Partisi lama yang keluar dari jangkauan dihilangkan, yang mempertahankan jendela bergulir. Partisi digabungkan secara oportunistik, mengurangi jumlah total partisi yang diperlukan. Ini meningkatkan kompresi 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 refresh hari selesai = 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-hari pada bulan November, karena berada di luar rentang bertahas.

Gabungkan partisi dalam aliran data.

Hilangkan partisi lama

Partisi lama yang berada di luar rentang total dihapus. Operasi refresh dengan Run Date 1/2/2017 menghilangkan partisi untuk Q3 tahun 2016 karena berada di luar rentang total.

Hilangkan partisi lama dalam aliran data.

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 inkremental 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 sebelumnya karena tidak disegarkan pada jadwal normal. Dengan kata lain, rentang inkremental ditingkatkan dari 10 menjadi 22 hari.

Operasi refresh berikutnya, dengan Run Date 16/1/2017, mengambil kesempatan untuk menggabungkan hari-hari pada bulan Desember dan bulan-bulan di Q4 2016.

Pemulihan dari kegagalan berkepanjangan dalam aliran data.

Refresh inkremental aliran data dan himpunan data

Refresh inkremental aliran data dan refresh inkremental himpunan data dirancang untuk bekerja bersamaan. Ini dapat diterima dan didukung untuk memiliki tabel yang disegarkan secara bertahap dalam aliran data, sepenuhnya dimuat ke dalam himpunan data, atau tabel yang dimuat sepenuhnya dalam aliran data yang dimuat secara bertahap ke himpunan data.

Kedua pendekatan berfungsi sesuai dengan definisi yang Anda tentukan dalam pengaturan refresh. Informasi selengkapnya: Refresh inkremental di Power BI Premium

Lihat juga

Artikel ini menjelaskan refresh bertahap untuk aliran data. Berikut adalah beberapa artikel lain yang mungkin berguna:

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: