Bagikan melalui


Konsep Utama dalam MDX (Analysis Services)

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

Sebelum Anda dapat menggunakan Ekspresi Multidimensi (MDX) untuk mengkueri data multidimensi atau membuat ekspresi MDX dalam kubus, ini membantu memahami konsep dan istilah multidimensi.

Tempat terbaik untuk memulai adalah dengan contoh ringkasan data yang sudah Anda ketahui, lalu lihat bagaimana MDX berhubungan dengannya. Berikut adalah PivotTable yang dibuat di Excel, diisi dengan data dari kubus sampel Analysis Services.

PivotTable dengan pengukuran dan dimensi yang dipanggil

Ukuran dan Dimensi

Kubus Analysis Services terdiri dari pengukuran, dimensi, dan atribut dimensi, yang semuanya terlihat dalam contoh PivotTable.

Pengukuran adalah nilai data numerik yang ditemukan dalam sel, diagregasi sebagai jumlah, hitungan, persentase, min, maks, atau rata-rata. Mengukur nilai bersifat dinamis, dihitung secara real time, sebagai respons terhadap navigasi pengguna dan interaksi dengan PivotTable. Dalam contoh ini, sel memperlihatkan Jumlah Penjualan Penjual yang meningkat atau berkurang berdasarkan apakah Anda memperluas atau menciutkan sumbu. Untuk kombinasi Tanggal (tahun, kuartal, bulan, atau tanggal) dan Wilayah Penjualan (Grup negara, Negara, Wilayah) Anda bisa mendapatkan Jumlah Penjualan Penjual, yang dijumlahkan untuk konteks tertentu tersebut. Istilah lain yang identik dengan pengukuran adalah fakta (di gudang data) dan bidang terhitung (dalam model data tabular dan Excel).

Dimensi berada di sumbu kolom dan baris PivotTable, memberikan arti di balik pengukuran. Dimensi dianalogikan dengan Tabel dalam model data relasional. Contoh umum dimensi termasuk Waktu, Geografi, Produk, Pelanggan, Karyawan, dan sebagainya. Contoh ini memiliki dua dimensi, Wilayah Penjualan pada baris, dan Tanggal di bagian atas, tetapi Anda dapat dengan mudah menyeret dan menghilangkan dimensi lain yang terkait dengan Penjualan Penjual, seperti Promosi atau Produk, untuk melihat performa penjualan di sepanjang dimensi tersebut. Kemampuan Anda untuk menjelajahi data dengan cara yang menarik tergantung pada dimensi yang Anda buat, dan apakah data tersebut terkait dengan tabel fakta di sumber data Anda.

Atribut dimensi adalah item bernama dalam dimensi, mirip dengan kolom dalam tabel. Dalam contoh ini, atribut dimensi Wilayah Penjualan terdiri dari Grup Negara (Eropa, Amerika Utara, Pasifik), Negara (Kanada, Amerika Serikat), dan Wilayah (Tengah, Timur Laut, Barat Laut, Tenggara, Barat Daya).

Setiap atribut memiliki kumpulan nilai data, atau anggota, yang terkait dengannya. Dalam contoh kami, anggota atribut Country Group adalah Eropa, Amerika Utara, dan Pasifik. Anggota mengacu pada nilai data aktual milik atribut.

Catatan

Salah satu aspek pemodelan data adalah memformalkan pola dan hubungan yang sudah ada dalam data itu sendiri. Saat bekerja dengan data yang termasuk dalam hierarki alami, seperti halnya dengan negara/wilayah-wilayah-kota, Anda dapat meresmikan hubungan tersebut dengan membuat hubungan atribut. Hubungan atribut adalah hubungan satu-ke-banyak antara atribut, misalnya hubungan antara negara bagian dan kota - negara bagian memiliki banyak kota, tetapi kota hanya milik satu negara bagian. Membuat hubungan atribut dalam model mempercepat performa kueri, jadi ini adalah praktik terbaik untuk membuatnya jika data mendukungnya. Anda dapat membuat hubungan atribut di dimensi Designer di SQL Server Data Tools. Lihat Menentukan Hubungan Atribut.

Di dalam Excel, metadata model muncul di daftar bidang PivotTable. Bandingkan PivotTable di atas dengan daftar bidang di bawah ini. Perhatikan bahwa daftar bidang berisi Wilayah Penjualan, Grup, Negara, Kawasan (metadata), sedangkan PivotTable hanya berisi anggota (nilai data). Mengetahui seperti apa ikon tersebut dapat membantu Anda dengan mudah menghubungkan bagian model multidimensi ke PivotTable di Excel.

Daftar bidang PivotTable daftar

Hierarki Atribut

Hampir tanpa harus memikirkannya, Anda tahu bahwa nilai dalam PivotTable naik atau turun saat Anda memperluas dan menciutkan tingkat di sepanjang setiap sumbu, tetapi apa yang membuatnya demikian? Jawabannya terletak pada hierarki atribut.

Ciutkan semua tingkatan dan perhatikan total keseluruhan untuk setiap Grup Negara dan Tahun Kalender. Nilai ini berasal dari sesuatu yang disebut anggota (Semua) dalam hierarki. Anggota (Semua) adalah nilai terhitung dari semua anggota dalam hierarki atribut.

  • Anggota (Semua) untuk semua Grup Negara dan Tanggal gabungan adalah $80.450.596,98

  • Anggota (Semua) untuk CY2008 adalah $16.038.062,60

  • Anggota (Semua) untuk Pasifik adalah $1.594.335,38

Agregasi seperti ini telah dihitung sebelumnya dan disimpan sebelumnya, yang merupakan bagian dari rahasia untuk mengkueri performa Analysis Services dengan cepat.

PivotTable dengan semua anggota memanggil

Perluas hierarki, dan akhirnya Anda sampai ke tingkat terendah. Ini disebut anggota daun. Anggota daun adalah anggota hierarki yang tidak memiliki anak. Dalam contoh ini, Southwest adalah anggota daun.

PivotTable dengan panggilan anggota daun dout

Apa pun di atasnya disebut anggota induk. Amerika Serikat adalah induk dari Southwest.

Komponen hierarki atribut

Bersama-sama, semua konsep ini dibangun menuju konsep hierarki atribut. Hierarki atribut adalah pohon anggota atribut yang berisi tingkat berikut:

  • Tingkat daun yang berisi setiap anggota atribut yang berbeda, dengan setiap anggota tingkat daun juga dikenal sebagai anggota daun.

  • Tingkat menengah jika hierarki atribut adalah hierarki induk-anak (selengkapnya tentang itu nanti).

  • Anggota (Semua) yang berisi nilai agregat dari semua atribut anak. Secara opsional, Anda dapat menyembunyikan atau menonaktifkan tingkat (Semua) saat tidak masuk akal untuk data. Misalnya, meskipun Kode Produk bersifat numerik, tidak masuk akal untuk menjumlahkan atau rata-rata atau mengagregasi semua Kode Produk.

Catatan

Pengembang BI sering mengatur properti pada hierarki atribut untuk mencapai perilaku tertentu dalam aplikasi klien, atau mendapatkan manfaat performa tertentu. Misalnya, Anda akan mengatur AttributeHierarchyEnabled=False pada atribut yang anggota (Semua) tidak masuk akal. Atau, mungkin Anda hanya ingin menyembunyikan anggota (Semua), dalam hal ini Anda akan mengatur AttributeHierarchyVisible=False. Lihat Referensi Properti Atribut Dimensi untuk detail selengkapnya tentang properti.

Dalam PivotTable (setidaknya dalam contoh ini), sumbu baris dan kolom diperluas untuk memperlihatkan tingkat atribut yang lebih rendah. Pohon yang dapat diperluas dicapai melalui hierarki navigasi yang Anda buat dalam model. Dalam model sampel AdventureWorks, dimensi Wilayah Penjualan memiliki hierarki multi-tingkat yang dimulai dengan Grup Negara, diikuti oleh Negara, diikuti oleh Wilayah.

Seperti yang Anda lihat, hierarki digunakan untuk menyediakan jalur navigasi dalam PivotTable atau objek ringkasan data lainnya. Ada dua jenis dasar: seimbang dan tidak seimbang.

Hierarki Seimbang

PivotTable dengan hierarki seimbang memanggil

Hierarki seimbang adalah hierarki di mana jumlah tingkat yang sama ada antara tingkat atas dan anggota daun apa pun.

Hierarki alami adalah hierarki yang muncul secara alami dari data yang mendasarinya. Contoh umumnya adalah Country-Region-State atau Year-Month-Date atau Category-Subcategory-Model, di mana setiap tingkat subordinat mengalir secara terprediksi dari induk.

Dalam model multidimensi, sebagian besar hierarki adalah hierarki seimbang, dan banyak di antaranya juga hierarki alami.

Istilah pemodelan terkait lainnya adalah hierarki yang ditentukan pengguna, sering digunakan sebagai kontras dengan hierarki atribut. Ini hanya berarti hierarki yang dibuat oleh pengembang BI, dibandingkan dengan hierarki atribut yang secara otomatis dihasilkan oleh Analysis Services saat Anda menentukan atribut.

Hierarki Tidak Seimbang

PivotTable dengan hierarki ragged yang dipanggil

Hierarki kasar atau hierarki yang tidak seimbang adalah hierarki di mana jumlah tingkat yang berbeda ada antara tingkat atas dan anggota daun. Sekali lagi, ini adalah hierarki yang dibuat oleh pengembang BI, tetapi dalam hal ini ada celah dalam data.

Dalam model sampel AdventureWorks, Wilayah Penjualan mengilustrasikan hierarki yang tidak jelas karena Amerika Serikat memiliki tingkat tambahan (Wilayah) yang tidak ada untuk negara/wilayah lain dalam contoh ini.

Hierarki yang tidak jelas adalah tantangan bagi pengembang BI jika aplikasi klien tidak menangani hierarki yang ragged dengan cara yang elegan. Dalam model Analysis Services, Anda dapat membangun hierarki induk-anak yang secara eksplisit mendefinisikan hubungan di antara data multi-tingkat, menghilangkan ambiguitas tentang bagaimana satu tingkat berhubungan dengan tingkat berikutnya. Lihat Dimensi Induk-Anak untuk detailnya.

Atribut Kunci

Model adalah kumpulan objek terkait yang mengandalkan kunci dan indeks untuk membuat asosiasi. Model Analysis Services tidak berbeda. Untuk setiap dimensi (pengenalan setara dengan tabel dalam model relasional), ada atribut kunci. Atribut kunci digunakan dalam hubungan kunci asing ke tabel fakta (grup pengukuran). Semua atribut non-kunci dalam dimensi ditautkan (secara langsung atau tidak langsung) ke atribut kunci.

Seringkali, tetapi tidak selalu, atribut kunci juga merupakan Atribut Granularitas. Granularitas mengacu pada tingkat detail atau presisi dalam data. Sekali lagi, contoh umum menawarkan jalur tercepat untuk memahami. Pertimbangkan nilai tanggal: Untuk penjualan harian, Anda memerlukan nilai tanggal yang ditentukan hingga hari itu; untuk kuota, triwulan mungkin cukup, tetapi jika data analitik Anda terdiri dari hasil balapan dari acara olahraga, biji-bijian mungkin sangat perlu milidetik. Tingkat presisi dalam nilai data Anda adalah grain.

Mata uang adalah contoh lain: aplikasi keuangan mungkin melacak nilai moneter ke banyak tempat desimal, sedangkan penggalangan dana sekolah lokal Anda mungkin hanya membutuhkan nilai untuk dolar terdekat. Memahami biji-bijian penting karena Anda ingin menghindari penyimpanan data yang tidak perlu. Pemangkasan milidetik dari tanda waktu, atau sen dari jumlah penjualan, dapat menghemat waktu penyimpanan dan pemrosesan ketika tingkat detail tersebut tidak relevan dengan analisis Anda.

Untuk mengatur atribut granularitas, gunakan tab Penggunaan Dimensi di Designer Kubus di SQL Server Data Tools. Dalam model sampel AdventureWorks, atribut utama dimensi Tanggal adalah kunci Tanggal. Untuk Pesanan Penjualan, atribut granularitas setara dengan atribut kunci. Untuk Target Penjualan, tingkat granularitas adalah triwulanan, sehingga atribut granularitas diatur ke Kuartal Kalender.

Model memperlihatkan atribut granularitas

Catatan

Jika atribut granularitas dan atribut kunci berbeda, semua atribut non-kunci harus ditautkan, secara langsung atau tidak langsung, ke atribut granularitas. Dalam kubus, atribut granularitas mendefinisikan granularitas dimensi.

Cakupan Kueri (Ruang Kubus)

Cakupan kueri mengacu pada batas di mana data sedang dipilih. Ini dapat berkisar dari seluruh kubus (kubus adalah objek kueri terbesar) hingga sel.

Ruang kubus adalah produk dari anggota hierarki atribut kubus dengan langkah-langkah kubus.

Subkubus adalah subset kubus yang mewakili tampilan kubus yang difilter. Subkubus dapat ditentukan dengan pernyataan Cakupan dalam skrip perhitungan MDX, atau dalam klausa subpilih dalam kueri MDX atau sebagai kubus sesi.

Sel mengacu pada ruang di persimpangan anggota anggota dimensi pengukuran dan anggota dari setiap hierarki atribut dalam kubus.

Istilah Pemodelan Lainnya

Bagian ini adalah kumpulan konsep dan istilah yang tidak mudah masuk ke bagian lain, tetapi Anda masih perlu mengetahuinya.

Anggota terhitung adalah anggota dimensi yang ditentukan dan dihitung pada waktu kueri. Anggota terhitung dapat ditentukan dalam kueri pengguna atau dalam skrip perhitungan MDX dan disimpan di server. Anggota terhitung sesuai dengan baris dalam tabel dimensi dimensi tempatnya ditentukan.

Jumlah Berbeda adalah jenis pengukuran khusus yang digunakan untuk item data yang hanya boleh dihitung sekali. Model sampel AdventureWorks mencakup pengukuran hitungan yang berbeda untuk Pesanan Internet, Pesanan Penjual, dan Pesanan Penjualan.

Grup pengukuran adalah kumpulan dari satu atau beberapa pengukuran. Sebagian besar ini ditentukan pengguna, dan Anda menggunakannya untuk menjaga langkah-langkah terkait bersama-sama. Langkah-langkah jumlah yang berbeda adalah pengecualian. Ini selalu ditempatkan dalam grup pengukuran khusus yang hanya berisi ukuran yang berbeda. Anda tidak dapat melihat grup pengukuran dalam ilustrasi contoh PivotTable, tetapi memang muncul dalam daftar bidang PivotTable, sebagai kumpulan pengukuran bernama.

Dimensi pengukuran adalah dimensi yang berisi semua ukuran dalam kubus. Ini tidak terekspos dalam model multidimensi yang Anda bangun di SQL Server Data Tools, tetapi ada sama saja. Karena berisi pengukuran, semua anggota dimensi pengukuran biasanya dikumpulkan (umumnya menurut jumlah atau menurut hitungan).

Dimensi Database dan Dimensi Kubus. Dalam model, Anda dapat menentukan dimensi mandiri yang kemudian disertakan dalam sejumlah kubus dalam model yang sama. Saat Anda menambahkan dimensi ke kubus, dimensi tersebut disebut dimensi kubus. Dengan sendirinya dalam proyek, sebagai item mandiri di Object Explorer, itu disebut dimensi database. Mengapa membuat perbedaan? Karena Anda dapat mengatur properti secara independen. Dalam dokumentasi produk, Anda akan melihat kedua istilah yang digunakan, jadi ada baiknya untuk memahami apa artinya.

Langkah berikutnya

Sekarang setelah Anda memahami konsep dan terminologi penting, Anda dapat melanjutkan ke topik tambahan ini yang menjelaskan lebih lanjut konsep dasar dalam Analysis Services:

Lihat juga

Ruang Kubus
Tupel
Autoexists
Bekerja dengan Anggota, Tuple, dan Set (MDX)
Total Visual dan Total Non-Visual
Dasar-Dasar Kueri MDX (Analysis Services)
Dasar-Dasar Pembuatan Skrip MDX (Analysis Services)
Referensi Bahasa MDX (MDX)
Referensi Ekspresi Multidimensi (MDX)