Bagikan melalui


Kueri MDX dan Sumbu Pemotong - Tentukan Konten Sumbu Pemotong

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

Sumbu pemotong memfilter data yang dikembalikan oleh pernyataan SELECT Multidimensional Expressions (MDX), membatasi data yang dikembalikan sehingga hanya data yang berpotongan dengan anggota yang ditentukan yang akan dikembalikan. Ini dapat dianggap sebagai sumbu ekstra yang tidak terlihat dalam kueri. Sumbu pemotong didefinisikan dalam klausa WHERE dari pernyataan SELECT di MDX.

Sintaks Sumbu Pemotong

Untuk menentukan sumbu pemotong secara eksplisit, Anda menggunakan <SELECT slicer axis clause> dalam MDX, seperti yang dijelaskan dalam sintaks berikut:

<SELECT slicer axis clause> ::=  WHERE Set_Expression  

Dalam sintaks sumbu pemotong yang ditampilkan, Set_Expression dapat mengambil ekspresi tuple, yang diperlakukan sebagai set untuk tujuan mengevaluasi klausul, atau ekspresi yang ditetapkan. Jika ekspresi set ditentukan, MDX akan mencoba mengevaluasi set, menggabungkan sel hasil di setiap tuple di sepanjang set. Dengan kata lain, MDX akan mencoba menggunakan fungsi Agregat pada set, menggabungkan setiap pengukuran dengan fungsi agregasi terkait. Selain itu, jika ekspresi set tidak dapat dinyatakan sebagai gabungan silang dari anggota hierarki atribut, MDX memperlakukan sel yang berada di luar ekspresi yang ditetapkan untuk pemotong sebagai null untuk tujuan evaluasi.

Penting

Tidak seperti klausa WHERE di SQL, klausa WHERE dari pernyataan MDX SELECT tidak pernah langsung memfilter apa yang dikembalikan pada sumbu Baris kueri. Untuk memfilter apa yang muncul pada sumbu Baris atau Kolom kueri, Anda bisa menggunakan berbagai fungsi MDX, misalnya FILTER, NONEMPTY, dan TOPCOUNT.

Sumbu Pemotong Implisit

Jika anggota dari hierarki dalam kubus tidak secara eksplisit disertakan dalam sumbu kueri, anggota default dari hierarki tersebut secara implisit disertakan dalam sumbu pemotong. Untuk informasi selengkapnya tentang anggota default, lihat Menentukan Anggota Default.

Contoh

Kueri berikut ini tidak menyertakan klausa WHERE, dan mengembalikan nilai pengukuran Jumlah Penjualan Internet untuk semua Tahun Kalender:

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,  
[Date].[Calendar Year].MEMBERS ON ROWS  
FROM [Adventure Works]  

Menambahkan klausa WHERE, sebagai berikut:

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,  
[Date].[Calendar Year].MEMBERS ON ROWS  
FROM [Adventure Works]  
WHERE([Customer].[Customer Geography].[Country].&[United States])  
  

tidak mengubah apa yang dikembalikan pada Baris atau Kolom dalam kueri; ini mengubah nilai yang dikembalikan untuk setiap sel. Dalam contoh ini, kueri diiris sehingga mengembalikan nilai Jumlah Penjualan Internet untuk semua Tahun Kalender tetapi hanya untuk Pelanggan yang tinggal di Amerika Serikat. Beberapa anggota dari hierarki yang berbeda dapat ditambahkan ke klausa WHERE. Kueri berikut ini memperlihatkan nilai Jumlah Penjualan Internet untuk semua Tahun Kalender untuk Pelanggan yang tinggal di Amerika Serikat dan yang membeli Produk dalam Kategori Sepeda:

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,  
[Date].[Calendar Year].MEMBERS ON ROWS  
FROM [Adventure Works]  
WHERE([Customer].[Customer Geography].[Country].&[United States], [Product].[Category].&[1])  

Jika Anda ingin menggunakan beberapa anggota dari hierarki yang sama, Anda perlu menyertakan set dalam klausa WHERE. Misalnya, kueri berikut menunjukkan nilai Jumlah Penjualan Internet untuk semua Tahun Kalender untuk Pelanggan yang membeli Produk dalam Kategori Sepeda dan tinggal di Amerika Serikat atau Inggris Raya:

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,  
[Date].[Calendar Year].MEMBERS ON ROWS  
FROM [Adventure Works]  
WHERE(  
{[Customer].[Customer Geography].[Country].&[United States]  
, [Customer].[Customer Geography].[Country].&[United Kingdom]}  
, [Product].[Category].&[1])  
  

Seperti disebutkan di atas, menggunakan set dalam klausa WHERE akan secara implisit menggabungkan nilai untuk semua anggota dalam set. Dalam hal ini, kueri memperlihatkan nilai agregat untuk Amerika Serikat dan Inggris Raya di setiap sel.