Bagikan melalui


Menggunakan Fungsi Agregat

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Saat dimensi digunakan untuk mengpotong pengukuran, ukuran diringkas di sepanjang hierarki yang terkandung dalam dimensi tersebut. Perilaku penjumlahan tergantung pada fungsi agregat yang ditentukan untuk pengukuran. Untuk sebagian besar ukuran yang berisi data numerik, fungsi agregatnya adalah Jumlah. Nilai ukuran akan menjumlahkan ke jumlah yang berbeda tergantung pada tingkat hierarki mana yang aktif.

Di Analysis Services, setiap ukuran yang Anda buat didukung oleh fungsi agregasi yang menentukan operasi pengukuran. Jenis agregasi yang telah ditentukan sebelumnya termasuk Sum, Min, Max, Count, Distinct Count, dan beberapa fungsi lain yang lebih khusus. Atau, jika Anda memerlukan agregasi berdasarkan rumus kompleks atau kustom, Anda dapat membangun perhitungan MDX sebagai pengganti menggunakan fungsi agregasi bawaan. Misalnya, jika Anda ingin menentukan ukuran untuk nilai persentase, Anda akan melakukannya di MDX, menggunakan pengukuran terhitung. Lihat Pernyataan CREATE MEMBER (MDX).

Pengukuran yang dibuat melalui Wizard Kubus diberi jenis agregasi sebagai bagian dari definisi pengukuran. Jenis agregasi selalu Jumlah, dengan asumsi kolom sumber berisi data numerik. Jumlah ditetapkan terlepas dari jenis data kolom sumber. Misalnya, jika Anda menggunakan Panduan Kubus untuk membuat pengukuran, dan Anda menarik semua kolom dari tabel fakta, Anda akan melihat bahwa semua langkah yang dihasilkan memiliki agregasi Jumlah, bahkan jika sumbernya adalah kolom waktu tanggal. Selalu tinjau metode agregasi yang telah ditetapkan sebelumnya untuk pengukuran yang dibuat melalui wizard untuk memastikan fungsi agregasi cocok.

Anda dapat menetapkan atau mengubah metode agregasi baik dalam definisi kubus, melalui SQL Server Data Tools - Kecerdasan Bisnis, atau melalui MDX. Lihat Membuat Ukuran dan Mengukur Grup dalam Model multidansa atau Agregat (MDX) untuk instruksi lebih lanjut.

Fungsi Agregat

SQL Server Analysis Services menyediakan fungsi untuk mengagregasi pengukuran di sepanjang dimensi yang terkandung dalam grup pengukuran. Aditivitas fungsi agregasi menentukan bagaimana ukuran dikumpulkan di semua dimensi dalam kubus. Fungsi agregasi termasuk dalam tiga tingkat aditivitas:

Penambahan
Ukuran aditif, juga disebut ukuran aditif sepenuhnya, dapat diagregasi di sepanjang semua dimensi yang disertakan dalam grup pengukuran yang berisi ukuran, tanpa batasan.

Semiadditive
Ukuran semiadditif dapat diagregasi di sepanjang beberapa, tetapi tidak semua, dimensi yang disertakan dalam grup pengukuran yang berisi ukuran. Misalnya, ukuran yang mewakili kuantitas yang tersedia untuk inventori dapat diagregasi di sepanjang dimensi geografi untuk menghasilkan jumlah total yang tersedia untuk semua gudang, tetapi ukuran tidak dapat diagregasi sepanjang dimensi waktu karena ukuran mewakili rekam jepret berkala dari jumlah yang tersedia. Menggabungkan ukuran tersebut di sepanjang dimensi waktu akan menghasilkan hasil yang salah. Lihat Menentukan Perilaku Semiadditif untuk detailnya.

Nonadditive
Ukuran nonadditive tidak dapat diagregasi di sepanjang dimensi apa pun dalam grup pengukuran yang berisi ukuran. Sebaliknya, ukuran harus dihitung secara individual untuk setiap sel dalam kubus yang mewakili ukuran. Misalnya, pengukuran terhitung yang mengembalikan persentase, seperti margin laba, tidak dapat dikumpulkan dari nilai persentase anggota anak dalam dimensi apa pun.

Tabel berikut mencantumkan fungsi agregasi dalam SQL Server Analysis Services, dan menjelaskan aditivitas dan output fungsi yang diharapkan.

Fungsi agregasi Aditivitas Nilai yang dikembalikan
Sum Penambahan Menghitung jumlah nilai untuk semua anggota anak. Ini adalah fungsi agregasi default.
Menghitung Penambahan Mengambil hitungan semua anggota anak.
Min Semiadditive Mengambil nilai terendah untuk semua anggota anak.
Max Semiadditive Mengambil nilai tertinggi untuk semua anggota anak.
DistinctCount Nonadditive Mengambil hitungan semua anggota anak yang unik. Untuk detail selengkapnya, lihat Tentang Pengukuran Hitungan Berbeda di bagian berikutnya.
Tidak ada Nonadditive Tidak ada agregasi yang dilakukan, dan semua nilai untuk anggota daun dan nonleaf dalam dimensi disediakan langsung dari tabel fakta untuk grup pengukuran yang berisi ukuran. Jika tidak ada nilai yang dapat dibaca dari tabel fakta untuk anggota, nilai untuk anggota tersebut diatur ke null.
ByAccount Semiadditive Menghitung agregasi sesuai dengan fungsi agregasi yang ditetapkan ke jenis akun untuk anggota dalam dimensi akun. Jika tidak ada dimensi jenis akun dalam grup pengukuran, diperlakukan sebagai fungsi agregasi Tidak Ada .

Untuk informasi selengkapnya tentang dimensi akun, lihat Membuat Akun Keuangan dimensi jenis induk-anak.
AverageOfChildren Semiadditive Menghitung rata-rata nilai untuk semua anggota anak yang tidak kosong.
FirstChild Semiadditive Mengambil nilai anggota anak pertama.
LastChild Semiadditive Mengambil nilai anggota anak terakhir.
FirstNonEmpty Semiadditive Mengambil nilai anggota anak pertama yang tidak kosong.
LastNonEmpty Semiadditive Mengambil nilai anggota anak terakhir yang tidak kosong.

Tentang Pengukuran Hitungan Berbeda

Pengukuran dengan nilai properti Fungsi Agregat dari Jumlah Berbeda disebut pengukuran hitungan yang berbeda. Ukuran hitungan yang berbeda dapat digunakan untuk menghitung kemunculan anggota tingkat terendah dimensi dalam tabel fakta. Karena hitungannya berbeda, jika anggota terjadi beberapa kali, jumlahnya hanya dihitung sekali. Ukuran hitungan yang berbeda selalu ditempatkan dalam grup pengukuran khusus. Menempatkan ukuran hitungan yang berbeda ke dalam grup ukurannya sendiri adalah praktik terbaik yang telah dibangun ke dalam perancang sebagai teknik pengoptimalan performa.

Ukuran hitungan berbeda umumnya digunakan untuk menentukan untuk setiap anggota dimensi berapa banyak anggota tingkat terendah yang berbeda dari baris berbagi dimensi lain dalam tabel fakta. Misalnya, dalam kubus Penjualan, untuk setiap pelanggan dan grup pelanggan, berapa banyak produk berbeda yang dibeli? (Artinya, untuk setiap anggota dimensi Pelanggan, berapa banyak anggota dimensi Produk yang berbeda dan terendah dari baris berbagi dimensi Produk dalam tabel fakta?) Atau, misalnya, dalam kubus Kunjungan Situs Internet, untuk setiap pengunjung situs dan grup pengunjung situs, berapa banyak halaman berbeda di situs Internet yang dikunjungi? (Artinya, untuk setiap anggota dimensi Pengunjung Situs, berapa banyak anggota tingkat terendah yang berbeda dari baris berbagi dimensi Pages dalam tabel fakta?) Dalam setiap contoh ini, anggota tingkat terendah dimensi kedua dihitung oleh ukuran hitungan yang berbeda.

Analisis semacam ini tidak perlu dibatasi pada dua dimensi. Bahkan, ukuran hitungan yang berbeda dapat dipisahkan dan diiris oleh kombinasi dimensi apa pun dalam kubus, termasuk dimensi yang berisi anggota yang dihitung.

Pengukuran hitungan berbeda yang menghitung anggota didasarkan pada kolom kunci asing dalam tabel fakta. (Artinya, properti Kolom Sumber ukuran mengidentifikasi kolom ini.) Kolom ini menggabungkan kolom tabel dimensi yang mengidentifikasi anggota yang dihitung oleh ukuran hitungan yang berbeda.

Lihat juga

Mengukur dan Mengukur Grup
Referensi Fungsi MDX (MDX)
Menentukan Perilaku Semiadditif