Bagikan melalui


Membuat bidang rollup untuk menggabungkan nilai

Topik ini berlaku untuk Dynamics 365 Customer Engagement (on-premises). Untuk versi Power Apps dari topik ini, lihat: Menentukan bidang rollup di Power Apps

Bidang rollup dirancang untuk membantu pengguna mendapatkan wawasan data dengan memantau metrik bisnis utama. Bidang rollup berisi nilai agregat dihitung atas catatan yang berkaitan dengan catatan yang tertentu, seperti peluang terbuka account. Juga, Anda akan dapat untuk mengumpulkan data dari aktivitas yang berhubungan langsung dengan rekaman, seperti email dan janji temu, dan aktivitas yang tidak langsung berkaitan dengan rekaman melalui entitas pihak aktivitas. Dalam skenario yang lebih kompleks, Anda dapat menggabungkan data atas hirarki rekaman. Sebagai administrator atau penyesuai, Anda dapat menentukan bidang rollup dengan menggunakan fitur tanpa perlu seorang pengembang untuk menulis kode.

manfaat dan kemampuan Bidang rollup:

Manfaat dan kemampuan bidang rollup meliputi:

  • Mengedit visual mudah dilakukan. Anda dapat membuat bidang rollup dengan menggunakan Editor bidang, seperti yang Anda lakukan ketika Anda membuat bidang biasa.

  • Berbagai macam fungsi agregat. Anda dapat menggabungkan data dengan menggunakan fungsi berikut: SUM, COUNT, MIN,dan MAX AVG.

  • Dukungan filter penuh untuk agregasi. Anda dapat mengatur berbagai filter untuk entitas sumber atau entitas terkait sambil menyiapkan beberapa kondisi.

  • Integrasi dengan antarmuka pengguna. Anda dapat menyertakan bidang rollup dalam formulir, tampilan, grafik dan laporan.

  • Bidang rollup adalah komponen solusi. Anda dapat dengan mudah memindahkan bidang rollup sebagai komponen antara organisasi dan mendistribusikannya dalam solusi.

  • Bidang rollup dan bidang hitung saling melengkapi satu sama lain. Anda dapat menggunakan bidang rollup sebagai bagian dari bidang hitung, dan sebaliknya.

    Beberapa contoh dari bidang rollup termasuk:

  • Total perkiraan pendapatan peluang terbuka dari account

  • Total perkiraan pendapatan peluang terbuka di semua account dalam hirarki

  • Total perkiraan pendapatan peluang termasuk peluang anak

  • Total perkiraan nilai prospek berkualitas yang dihasilkan oleh kampanye

  • Jumlah kasus terbuka prioritas tinggi di semua account dalam hirarki

  • Waktu paling cepat dibuat dari semua kasus terbuka prioritas tinggi untuk account

Setiap bidang Rollup membuat dua bidang aksesori dengan <fieldname>_date dan <fieldname>_state pola akhiran. Bidang _date adalah jenis data Datetime dan bidang _state adalah tipe data bilangan.

Bidang _date adalah bidang yang dibuat sistem, yang digunakan untuk menyimpan tanggal dan waktu terakhir saat nilai bidang rollup dihitung.

Bidang _state memiliki nilai berikut:

Provinsi Description
0 => NotCalculated Nilai bidang masih belum dihitung.
1 => Calculated Nilai bidang telah dihitung per waktu update terakhir di bidang _date.
2 => OverflowError Perhitungan nilai bidang mengakibatkan kesalahan meluap.
3 => OtherError Penghitungan nilai bidang gagal karena kesalahan internal. Perhitungan berikut ini mungkin akan memperbaikinya.
4 => RetryLimitExceeded Perhitungan nilai bidang gagal karena jumlah maksimum usaha mencoba lagi untuk menghitung nilai terlampaui karena tingginya jumlah berbarengan dan konflik penguncian.
5 => HierarchicalRecursionLimitReached Perhitungan nilai bidang gagal karena batas kedalaman hirarki maksimum untuk perhitungan tercapai.
6 => LoopDetected Perhitungan nilai bidang gagal karena loop rekursif terdeteksi dalam hirarki catatan.

Perhitungan rollup

Rollups dihitung berdasarkan pekerjaan sistem terjadwal yang berjalan asinkron di latar belakang. Anda harus menjadi administrator untuk melihat dan mengelola pekerjaan rollup. Untuk melihat pekerjaan rollup, buka Pengaturan>Pekerjaan Sistem>Menampilkan>Pekerjaan Sistem Berulang. Untuk cepat menemukan pekerjaan yang relevan, Anda dapat menyaring berdasarkan jenis pekerjaan sistem: hitung massal bidang rollup atau hitung bidang rollup.

  • Hitung Massal Bidang Rollup adalah pekerjaan berulang, diciptakan per bidang rollup. Ini berjalan sekali, setelah Anda membuat atau memperbarui bidang rollup. Pekerjaan menghitung ulang nilai bidang rollup tertentu di semua catatan yang sudah ada yang berisi bidang ini. Secara default, pekerjaan akan berjalan 12 jam setelah Anda membuat atau memperbarui bidang. Setelah pekerjaan selesai, itu secara otomatis dijadwalkan untuk berjalan di masa depan yang jauh, sekitar 10 tahun. Jika bidang dimodifikasi, pekerjaan di-reset untuk berjalan lagi dalam 12 jam setelah update. Penundaan 12 jam diperlukan untuk memastikan bahwa perhitungan massal Bidang Rollup berjalan selama jam non-operasional organisasi. Dianjurkan bahwa administrator menyesuaikan waktu mulai dari pekerjaan perhitungan massal Bidang Rollup setelah bidang rollup dibuat atau diubah, sedemikian sehingga berjalan selama jam non-operasional. Misalnya, waktu yang baik untuk menjalankan pekerjaan adalah pada tengah malam, untuk memastikan proses bidang rollup yang efisien.

  • Hitung Bidang Rollup adalah pekerjaan berulang yang melakukan perhitungan inkremental semua bidang rollup dalam catatan yang sudah ada untuk sebuah entitas yang ditentukan. Ada hanya satu pekerjaan Hitung bidang rollup per entitas. Perhitungan inkremental berarti bahwa pekerjaan Hitung bidang rollup memproses catatan yang dibuat, diperbarui atau dihapus setelah terakhir pekerjaan perhitungan massal Bidang Rollup selesai eksekusi. Pengaturan pengulangan maksimum default adalah 1 jam. Pekerjaan secara otomatis dibuat ketika bidang rollup pertama pada entitas yang dibuat dan dihapus bila bidang rollup terakhir dihapus.

  • Pilihan perhitungan ulang online. Jika Anda meletakkan mouse di atas bidang rollup pada formulir, Anda dapat melihat waktu terakhir rollup dan Anda dapat menyegarkan nilai rollup dengan memilih ikon Refresh di sebelah bidang, seperti yang ditunjukkan di bawah:

    Bidang rollup pada formulir akun di Dynamics 365 for Customer Engagement.

    Ada beberapa pertimbangan, Anda harus selalu diingat, apabila menggunakan opsi online recalculation (refresh manual pada formulir):

    • Anda harus memiliki hak-hak istimewa menulis pada entitas dan hak-hak akses Baca pada catatan sumber di mana Anda meminta Refresh. Misalnya, jika Anda menghitung perkiraan pendapatan dari peluang terbuka account, Anda tidak perlu memiliki hak istimewa menulis pada entitas peluang, hanya pada akun entitas.

    • Opsi ini hanya tersedia dalam modus online. Anda tidak dapat menggunakannya saat bekerja secara offline.

    • Jumlah maksimum catatan selama proses refresh rollup ini terbatas 50.000 catatan. Apabila rollup hierarki, ini berlaku pada catatan terkait melintasi hirarki. Jika batas dilewati, Anda melihat pesan kesalahan: "Penghitungan tidak dapat dilakukan secara online karena batas hitung 50.000 catatan terkait telah tercapai." Batas ini tidak berlaku ketika rollup secara otomatis akan dihitung ulang oleh pekerjaan sistem.

    • Kedalaman maksimum hirarki ini terbatas hingga 10 untuk data sumber. Jika batas dilewati, Anda melihat pesan kesalahan: "Penghitungan tidak dapat dilakukan secara online karena batas kedalaman hierarki 10 untuk catatan sumber telah tercapai." Batas ini tidak berlaku ketika rollup secara otomatis akan dihitung ulang oleh pekerjaan sistem.

    Sebagai administrator sistem, Anda dapat mengubah pola pengulangan tugas rollup, menunda, jeda atau melanjutkan pekerjaan rollup. Namun, Anda tidak dapat membatalkan atau menghapus pekerjaan rollup. Untuk menjeda, menunda, melanjutkan, atau memodifikasi pola pengulangan, buka Pengaturan>Pekerjaan Sistem. Di Tampilan, pilih Pekerjaan Sistem Berulang. Pada bilah navigasi, pilih Tindakan dan pilih tindakan yang Anda inginkan. Untuk pekerjaan Hitung Massal bidang rollup, tersedia pilihan adalah: Lanjutkan, Tunda, dan Jeda. Untuk pekerjaan Hitung bidang rollup, tersedia pilihan adalah: Modifikasi Pengulangan, Lanjutkan, Tunda, dan Jeda.

Skenario bisnis bidang rollup

Mari kita lihat beberapa skenario bidang rollup. Kami akan menggabungkan data untuk catatan dari catatan yang terkait dengan dantanpa menggunakan hirarki. Kami juga akan menggabungkan data untuk sebuah rekaman dari aktivitas terkait dan aktivitas yang tidak langsung berhubungan dengan rekaman melalui entitas Pihak Aktivitas. Dalam setiap contoh, kita mendefinisikan bidang rollup dengan menggunakan Field Editor. Untuk membuka Editor Bidang, buka penjelajah solusi dan perluas Entitas Komponen>. Pilih entitas yang Anda inginkan dan pilih Bidang. Pilih baru. Di editor, berikan informasi yang diperlukan untuk bidang, termasuk Jenis Bidang dan Jenis Data. Di Jenis Bidang, pilih Rollup, setelah Anda memilih tipe data. Tipe data termasuk desimal atau bilangan bulat, mata uang, dan waktu. Pilih tombol Edit di samping Jenis Bidang. Ini membawa Anda ke editor definisi bidang rollup. Definisi bidang rollup terdiri dari tiga bagian: Entitas sumber, Entitas terkait, dan Agregasi.

  • Di bagian Entitas sumber, Anda menentukan entitas yang bidang rollup ditentukan dan apakah Anda menggabungkan hierarki atau tidak. Anda dapat menambahkan filter dengan beberapa kondisi untuk menentukan catatan dalam hirarki yang ingin Anda gunakan untuk rollup.

  • Di bagian Entitas terkait, Anda menentukan entitas tempat Anda menggabungkan. Bagian ini opsional, bila Anda memilih untuk rollup atas hirarki pada entitas sumber. Anda dapat menambahkan filter dengan beberapa kondisi untuk menentukan catatan terkait mana untuk digunakan dalam perhitungan. Misalnya, Anda menyertakan pendapatan dari peluang terbuka dengan pendapatan tahunan lebih dari $1000.

  • Di bagian Agregat, Anda menentukan metrik yang ingin Anda hitung. Anda dapat memilih fungsi agregat yang tersedia, seperti SUM, COUNT, MIN MAX, atau AVG.

Dalam contoh ini, hirarki tidak digunakan. Total perkiraan pendapatan dihitung untuk sebuah account, dari peluang terbuka terkait.

Agregat perkiraan pendapatan untuk akun Dynamics 365 for Customer Engagement.

Data gabungan untuk catatan dari catatan anak, atas hirarki

Dalam instans ini, kita menghitung total pendapatan perkiraan peluang termasuk peluang anak, atas hirarki.

Pendapatan perkiraan agregat, hierarki peluang.

Dalam instans ini, kita menghitung total pendapatan perkiraan peluang terbuka di semua akun, atas hirarki.

Pendapatan perkiraan agregat terhadap hierarki akun.

Dalam contoh ini, kita menghitung total waktu dihabiskan dan ditagih dari semua kegiatan yang berhubungan dengan account. Ini mungkin termasuk waktu yang dihabiskan pada telepon, di janji temu, atau aktivitas kustom.

Dalam rilis sebelumnya, Anda dapat menetapkan bidang rollup untuk aktivitas individu, seperti panggilan telepon, fax, atau janji temu. Namun, untuk mencapai hasil dari contoh yang ditunjukkan di bawah ini, Anda harus menjumlah data dengan menggunakan bidang hitung. Sekarang, Anda dapat melakukan itu semua dalam satu langkah dengan mendefinisikan satu bidang rollup untuk entitas aktivitas.

Rollup semua kegiatan untuk account.

Dalam contoh ini, kita menghitung jumlah email yang dikirim ke akun, dimana akun terdaftar di baris email "Untuk penerima" atau baris "Penerima Cc. Hal ini dilakukan dengan menentukan Jenis Partisipasi di FILTER untuk entitas Pihak Aktivitas dalam definisi bidang rollup. Jika Anda tidak menggunakan penyaringan, maka semua jenis partisipasi tersedia untuk kegiatan yang digunakan dalam perhitungan. Untuk informasi selengkapnya tentang entitas Pihak Aktivitas dan jenis partisipasi yang tersedia untuk aktivitas tertentu, lihat Entitas ActivityParty.

Aktivitas terkait rollup dan pihak kegiatan.

Dalam contoh ini, kita menghitung pendapatan perkiraan rata-rata dari semua peluang yang terkait dengan akun.

Perkiraan pendapatan rata-rata di Dynamics 365 for Customer Engagement.

Contoh berikut menunjukkan bagaimana untuk menghitung pendapatan perkiraan rata-rata dari peluang terkait atas hierarki akun. Rata-rata pendapatan diperkirakan dapat dilihat pada setiap tingkat dalam hirarki.

Perkiraan pendapatan rata-rata.

Pertimbangan bidang rollup

Anda harus menyadari kondisi dan pembatasan tertentu ketika bekerja dengan bidang rollup:

  • Anda dapat menetapkan maksimum 100 bidang rollup untuk organisasi dan 10 bidang rollup per entitas.

  • Alur kerja tidak dapat dipicu oleh pembaruan bidang rollup.

  • Kondisi menunggu alur kerja tidak dapat menggunakan bidang rollup.

  • Rollup atas bidang rollup tidak didukung.

  • Rollup tidak mereferensi bidang hitung yang menggunakan bidang hitung lain, meskipun semua bidang hitung lain ada pada entitas saat ini.

  • Bidang rollup tidak diperbarui secara otomatis jika menggunakan bidang rumus yang bergantung pada fungsi terikat waktu, seperti NOW(),, UTCNOW() ISUTCTODAY(), atau UTCTODAY(). Opsi penghitungan ulang online (refresh manual pada formulir) atau tombol Hitung ulang harus digunakan untuk menghitung nilai bidang rollup terbaru.

  • Rollup hanya dapat menerapkan filter untuk entitas sumber atau entitas terkait, bidang sederhana atau bidang hitung non-kompleks.

  • Rollup dapat dilakukan hanya atas entitas terkait dengan hubungan 1:N. Rollup tidak dapat dilakukan atas hubungan N:N.

  • Rollup tidak dapat dilakukan atas hubungan 1:N untuk entitas aktivitas atau entitas pihak aktivitas.

  • Aturan Bisnis, alur kerja atau bidang hitung selalu menggunakan nilai terakhir yang dihitung dari bidang rollup.

  • Bidang rollup dikumpulkan di bawah konteks pengguna sistem. Semua pengguna dapat melihat nilai bidang rollup yang sama. Anda dapat mengontrol visibilitas bidang rollup dengan keamanan tingkat bidang (FLS), dengan membatasi pengguna yang dapat mengakses bidang rollup. Informasi lebih lanjut: Keamanan tingkat bidang.

  • Jika ketepatan bidang agregat lebih besar daripada ketepatan bidang rollup, presisi bidang agregat dibulatkan ke bawah ketepatan bidang rollup, sebelum agregasi dilakukan. Untuk menggambarkan perilaku tersebut, mari kita lihat sebuah contoh khusus. Katakanlah bahwa bidang rollup pada akun entitas, untuk menghitung total pendapatan perkiraan peluang yang terkait, memiliki ketepatan dua titik desimal. Est. Bidang pendapatan di entitas peluang adalah bidang agregat dengan ketepatan empat titik desimal. Dalam instans kita, akun memiliki dua peluang yang terkait. Jumlah agregat perkiraan pendapatan dihitung sebagai berikut:

    1. Est. Pendapatan untuk peluang pertama: $1000,0041

    2. Est. Pendapatan untuk peluang kedua: $2000,0044

    3. Agregat jumlah Est. Pendapatan: $1000,00 + $2000,00 = $3000,00
      Seperti yang Anda lihat, presisi pembulatan ke dua titik desimal di bidang agregat dilakukan sebelum agregasi dilakukan.

  • formulir entitas tertentu, seperti akun atau Kontak, out-of-the-box, mengandung grid terkait. Misalnya, formulir akun mencakup kontak, kasus, peluang dan grid lainnya. Beberapa catatan ditampilkan dalam akun formulir grid yang langsung berhubungan dengan catatan akun; lainnya, tidak langsung, melalui hubungan dengan catatan lainnya. Sebagai perbandingan, agregasi bidang rollup menggunakan hanya hubungan langsung yang secara eksplisit didefinisikan dalam bidang rollup definisi. Tidak ada hubungan lain yang dipertimbangkan. Untuk menggambarkan perbedaan dalam perilaku, mari kita lihat contoh berikut.

    1. Account A1 memiliki kontak utama, P1. Kasus C1 dikaitkan dengan akun A1 (C1. Bidang pelanggan = A1) dan kasus C2 dikaitkan dengan kontak P1 (C2. Bidang pelanggan = P1).

    2. Kisi Kasus pada formulir Akun untuk rekaman A1, memperlihatkan dua kasus, C1 dan C2.

    3. Bidang rollup entitas akun, yang disebut jumlah Total kasus, digunakan untuk menghitung kasus-kasus yang terkait dengan akun.

    4. Dalam definisi bidang rollup akun, kita menetapkan kasus-kasus yang memiliki hubungan pelanggan dengan akun. Setelah agregasi, jumlah Total kasus sama dengan 1 (kasus C1). Kasus C2tidak termasuk dalam total, karena secara langsung berhubungan dengan kontak, tidak ke akun, dan tidak secara eksplisit didefinisikan dalam definisi bidang rollup akun. Akibatnya, jumlah total kasus yang dikembalikan oleh operasi rollup tidak cocok dengan jumlah kasus yang ditampilkan di kisi Kasus .

Lihat juga

Membuat dan mengedit bidang
Menentukan bidang terhitung
Perilaku dan format bidang Tanggal dan Waktu
Kueri dan visualisasikan data hierarki