Bagikan melalui


Ruang Kubus

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

Ruang kubus adalah produk dari anggota hierarki atribut kubus dengan langkah-langkah kubus. Oleh karena itu, ruang kubus ditentukan oleh produk gabungan dari semua anggota hierarki atribut dalam kubus dan langkah-langkah kubus dan mendefinisikan ukuran maksimum kubus. Penting untuk dicatat bahwa ruang ini mencakup semua kemungkinan kombinasi anggota hierarki atribut; bahkan kombinasi yang mungkin dianggap tidak mungkin di dunia nyata yaitu kombinasi di mana kota ini adalah Paris dan negara/wilayah adalah Inggris atau Spanyol atau Jepang atau India atau di tempat lain.

Autoexists dan ruang kubus

Konsep autoexists membatasi ruang kubus ini ke sel-sel yang benar-benar ada. Anggota hierarki atribut dalam dimensi mungkin tidak ada dengan anggota hierarki atribut lain dalam dimensi yang sama.

Misalnya, jika Anda memiliki kubus yang memiliki hierarki atribut City, hierarki atribut Country, dan ukuran Jumlah Penjualan Internet, ruang kubus ini hanya menyertakan anggota yang ada satu sama lain. Misalnya, jika hierarki atribut City mencakup kota New York, London, Paris, Tokyo, dan Melbourne; dan hierarki atribut Country mencakup negara/wilayah Amerika Serikat, Inggris Raya, Prancis, Jepang, dan Australia; maka ruang kubus tidak termasuk ruang (sel) di persimpangan Paris dan Amerika Serikat.

Saat mengkueri sel yang tidak ada, sel yang tidak ada mengembalikan null; artinya, mereka tidak boleh berisi perhitungan dan Anda tidak dapat menentukan perhitungan yang menulis ke ruang ini. Misalnya, pernyataan berikut menyertakan sel yang tidak ada.

SELECT [Customer].[Gender].[Gender].Members ON COLUMNS,  
{[Customer].[Customer].[Aaron A. Allen]  
   ,[Customer].[Customer].[Abigail Clark]} ON ROWS   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Catatan

Kueri ini menggunakan fungsi Anggota (Set) (MDX) untuk mengembalikan kumpulan anggota hierarki atribut Gender pada sumbu kolom, dan melintasi set ini dengan sekumpulan anggota yang ditentukan dari hierarki atribut Pelanggan pada sumbu baris.

Saat Anda menjalankan kueri sebelumnya, sel di persimpangan Aaron A. Allen dan Female menampilkan null. Demikian pula, sel di persimpangan Abigail Clark dan Male menampilkan null. Sel-sel ini tidak ada dan tidak boleh berisi nilai, tetapi sel yang tidak ada bisa muncul dalam hasil yang dikembalikan oleh kueri.

Saat Anda menggunakan fungsi Crossjoin (MDX) untuk mengembalikan produk silang anggota hierarki atribut dari hierarki atribut dalam dimensi yang sama, ada secara otomatis membatasi tuple tersebut dikembalikan ke set tuple yang sebenarnya ada, daripada mengembalikan produk Kartesius lengkap. Misalnya, jalankan lalu periksa hasil dari eksekusi kueri berikut.

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[State-Province].Members  
  ) ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Catatan

Perhatikan bahwa 0 digunakan untuk menunjuk sumbu kolom, yang merupakan singkatan dari sumbu(0) - yang merupakan sumbu kolom.

Kueri sebelumnya hanya mengembalikan sel untuk anggota dari setiap hierarki atribut dalam kueri yang ada satu sama lain. Kueri sebelumnya juga dapat ditulis menggunakan varian * baru dari fungsi * (Crossjoin) (MDX ).

SELECT   
   [Customer].[Country].[United States] *   
      [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Kueri sebelumnya juga dapat ditulis dengan cara berikut:

SELECT [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE (Measures.[Internet Sales Amount],  
   [Customer].[Country].[United States])  

Nilai sel yang dikembalikan akan identik, meskipun metadata dalam tataan hasil akan berbeda. Misalnya, dengan kueri sebelumnya, hierarki Negara dipindahkan ke sumbu pemotong (dalam klausa WHERE) dan karenanya tidak muncul secara eksplisit dalam tataan hasil.

Masing-masing dari ketiga kueri sebelumnya ini menunjukkan efek perilaku yang ada secara otomatis dalam SQL Server SQL Server Analysis Services.

User-Defined Hierarki dan Ruang Kubus

Contoh sebelumnya dalam topik ini menentukan posisi dalam ruang kubus dengan menggunakan hierarki atribut. Namun, Anda juga dapat menentukan posisi dalam ruang kubus dengan menggunakan hierarki yang ditentukan pengguna yang telah ditentukan berdasarkan hierarki atribut dalam dimensi. Hierarki yang ditentukan pengguna adalah hierarki hierarki atribut yang dirancang untuk memfasilitasi penjelajahan data kubus oleh pengguna.

Misalnya, kueri CROSSJOIN di bagian sebelumnya juga dapat ditulis sebagai berikut:

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[Customer Geography].[State-Province].Members  
   )   
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Dalam kueri sebelumnya, hierarki yang ditentukan pengguna Geografi Pelanggan dalam dimensi Pelanggan digunakan untuk menentukan posisi di ruang kubus yang sebelumnya ditentukan dengan menggunakan hierarki atribut. Posisi identik dalam ruang kubus dapat didefinisikan dengan menggunakan hierarki atribut atau hierarki yang ditentukan pengguna.

Hubungan Atribut dan Ruang Kubus

Menentukan hubungan atribut antara atribut terkait meningkatkan performa kueri (dengan memfasilitasi pembuatan agregasi yang sesuai) dan memengaruhi anggota hierarki atribut terkait yang muncul dengan anggota hierarki atribut. Misalnya, ketika Anda menentukan tuple yang menyertakan anggota dari hierarki atribut Kota dan tuple tidak secara eksplisit menentukan anggota hierarki atribut Negara, Anda mungkin mengharapkan bahwa anggota hierarki atribut Negara default akan menjadi anggota terkait dari hierarki atribut Negara. Namun, ini hanya berlaku jika hubungan atribut didefinisikan antara hierarki atribut Kota dan hierarki atribut Negara.

Contoh berikut mengembalikan anggota hierarki atribut terkait yang tidak disertakan secara eksplisit dalam kueri.

WITH MEMBER Measures.x AS   
   Customer.Country.CurrentMember.Name  
SELECT Measures.x ON 0,  
Customer.City.Members ON 1  
FROM [Adventure Works]  

Catatan

Perhatikan bahwa kata kunci WITH digunakan dengan fungsi CurrentMember (MDX) dan Name (MDX) untuk membuat anggota terhitung untuk digunakan dalam kueri. Untuk informasi selengkapnya, lihat Kueri MDX Dasar (MDX).

Dalam kueri sebelumnya, nama anggota hierarki atribut Negara yang terkait dengan setiap anggota hierarki atribut Status dikembalikan. Anggota Negara yang diharapkan muncul (karena hubungan atribut didefinisikan antara atribut Kota dan Negara). Namun, jika tidak ada hubungan atribut yang ditentukan antara hierarki atribut dalam dimensi yang sama, anggota (Semua) akan dikembalikan, seperti yang diilustrasikan dalam kueri berikut.

WITH MEMBER Measures.x AS   
   Customer.Education.Currentmember.Name  
SELECT Measures.x  ON 0,   
Customer.City.Members ON 1  
FROM [Adventure Works]  

Dalam kueri sebelumnya, anggota (Semua) ("Semua Pelanggan") dikembalikan, karena tidak ada hubungan antara Pendidikan dan Kota. Oleh karena itu, anggota (Semua) hierarki atribut Pendidikan akan menjadi anggota default hierarki atribut Pendidikan yang digunakan dalam tuple apa pun yang melibatkan hierarki atribut Kota di mana anggota Pendidikan tidak secara eksplisit disediakan.

Konteks Penghitungan

Lihat juga

Konsep Utama dalam MDX (Analysis Services)
Tupel
Autoexists
Bekerja dengan Anggota, Tuple, dan Set (MDX)
Total Visual dan Total Non-Visual
Referensi Bahasa MDX (MDX)
Referensi Ekspresi Multidimensi (MDX)