Memecahkan masalah Perhitungan Ulang Rumus DAX
Setiap kali terjadi perubahan dalam Model Data buku kerja Anda, Power Pivot melakukan analisis data yang sudah ada untuk menentukan apakah penghitungan ulang diperlukan dan melakukan pembaruan dengan cara yang paling efisien.
Power Pivot menangani hal berikut ini, selama penghitungan ulang rumus DAX -
- Dependencies
- Urutan penghitungan ulang untuk kolom dependen
- Transactions
- Perhitungan ulang fungsi volatil
Dependensi
Saat kolom bergantung pada kolom lain, dan konten kolom lain tersebut berubah dengan cara apa pun, semua kolom terkait mungkin perlu dihitung ulang.
Power Pivot selalu melakukan penghitungan ulang lengkap untuk tabel, karena penghitungan ulang lengkap lebih efisien daripada memeriksa nilai yang diubah. Perubahan yang memicu penghitungan ulang mungkin termasuk menghapus kolom, mengubah tipe data numerik kolom atau menambahkan kolom baru. Perubahan ini dianggap sebagai perubahan besar. Namun, perubahan yang tampaknya sepele, seperti mengubah nama kolom mungkin juga memicu penghitungan ulang. Ini karena nama kolom digunakan sebagai pengidentifikasi dalam rumus DAX.
Dalam beberapa kasus, Power Pivot mungkin menentukan bahwa kolom bisa dikecualikan dari penghitungan ulang.
Urutan Perhitungan Ulang untuk Kolom Bergantung
Dependensi dihitung sebelum penghitungan ulang apa pun. Jika ada beberapa kolom yang bergantung satu sama lain, Power Pivot mengikuti urutan dependensi. Ini memastikan bahwa kolom diproses dalam urutan yang benar dengan kecepatan maksimum.
Transaksi
Operasi yang menghitung ulang atau menyegarkan data berlangsung sebagai transaksi. Ini berarti bahwa jika ada bagian dari operasi penyegaran yang gagal, operasi yang tersisa akan dibatalkan. Ini untuk memastikan bahwa data tidak dibiarkan dalam keadaan diproses sebagian. Namun, Anda tidak dapat mengelola transaksi seperti yang Anda lakukan dalam database relasional atau membuat pos pemeriksaan.
Perhitungan Ulang Fungsi Volatile
Fungsi DAX seperti NOW, RAND, atau TODAY tidak memiliki nilai tetap dan disebut sebagai fungsi volatil. Jika fungsi DAX tersebut digunakan dalam kolom terhitung, eksekusi kueri atau pemfilteran biasanya tidak akan menyebabkannya dievaluasi ulang untuk menghindari masalah kinerja.
Hasil untuk fungsi DAX ini hanya dihitung ulang saat seluruh kolom dihitung ulang. Situasi ini menyertakan refresh dari sumber data eksternal atau pengeditan data secara manual yang menyebabkan evaluasi ulang rumus DAX yang berisi fungsi ini.
Namun, fungsi tersebut akan selalu dihitung ulang jika fungsi tersebut digunakan dalam definisi Bidang Terhitung.