Bagikan melalui


Membangun Subkubus di MDX (MDX)

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

Subkubus adalah subkumpulan kubus pada yang mewakili tampilan data yang difilter. Dengan membatasi kubus ke subkubus, Anda dapat meningkatkan performa kueri.

Untuk menentukan subkube, Anda menggunakan pernyataan CREATE SUBCUBE , seperti yang dijelaskan dalam topik ini.

SINTAKS CREATE SUBCUBE

Gunakan sintaks berikut untuk membuat subkubus:

CREATE SUBCUBE Subcube_Identifier AS Subcube_Expression  

Sintaks CREATE SUBCUBE cukup sederhana. Parameter Subcube_Identifier mengidentifikasi kubus tempat subkubus akan didasarkan. Parameter Subcube_Expression memilih bagian kubus yang akan menjadi subkubus

Setelah Anda membuat subkube, subkube tersebut menjadi konteks untuk semua kueri MDX hingga sesi ditutup atau Anda menjalankan pernyataan DROP SUBCUBE .

Apa yang Dikandung Subkube

Meskipun pernyataan CREATE SUBCUBE cukup mudah digunakan, pernyataan itu sendiri tidak secara eksplisit menunjukkan semua anggota yang menjadi bagian dari subkube. Dalam menentukan subkube, aturan berikut berlaku:

  • Jika Anda menyertakan anggota (Semua) hierarki, Anda menyertakan setiap anggota hierarki tersebut.

  • Jika Anda menyertakan anggota mana pun, Anda menyertakan ascendant dan turunan anggota tersebut.

  • Jika Anda menyertakan setiap anggota dari tingkat, Anda menyertakan semua anggota dari hierarki. Anggota dari hierarki lain akan dikecualikan jika anggota tersebut tidak ada dengan anggota dari tingkat (misalnya, hierarki yang tidak seimbang seperti kota yang tidak berisi pelanggan).

  • Subkubus akan selalu berisi setiap anggota (Semua) dari kubus.

Selain itu, nilai agregat dalam subkube dijumlahkan secara visual. Misalnya, subkube berisi USA, , WAdan OR. Nilai agregat untuk USA akan menjadi jumlah karena WA dan OR merupakan satu-satunya {WA,OR} status yang ditentukan oleh subkubus. Semua status lain akan diabaikan.

Selain itu, referensi eksplisit ke sel di luar subkube mengembalikan nilai sel yang dievaluasi dalam konteks seluruh kubus. Misalnya, Anda membuat subkube yang terbatas pada tahun ini. Anda kemudian menggunakan fungsi ParallelPeriod untuk membandingkan tahun ini dengan tahun sebelumnya. Perbedaan nilai akan dikembalikan meskipun nilai tahun sebelumnya terletak di luar subkubus.

Terakhir, jika konteks asli tidak ditimpa, fungsi set yang dievaluasi dalam subpilih dievaluasi dalam konteks subpilih. Jika konteks ditimpa, fungsi yang ditetapkan dievaluasi dalam konteks seluruh kubus.

Contoh CREATE SUBCUBE

Contoh berikut membuat subkubus yang membatasi kubus Anggaran hanya untuk akun 4200 dan 4300:

CREATE SUBCUBE Budget AS SELECT {[Account].[Account].&[4200], [Account].[Account].&[4300] } ON 0 FROM Budget

Setelah membuat subkubus untuk sesi, setiap kueri berikutnya akan bertentangan dengan subkubus, bukan seluruh kubus. Misalnya, Anda menjalankan kueri berikut. Kueri ini hanya akan mengembalikan anggota dari akun 4200 dan 4300.

SELECT [Account].[Account].Members ON 0, Measures.Members ON 1 FROM Budget

Lihat juga

Menetapkan Konteks Kubus dalam Kueri (MDX)
Dasar-Dasar Kueri MDX (Analysis Services)