Anggota Terhitung MDX - Anggota Terhitung Query-Scoped
Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Jika anggota terhitung hanya diperlukan untuk satu kueri Ekspresi Multidimensi (MDX), Anda dapat menentukan anggota terhitung tersebut dengan menggunakan kata kunci WITH. Anggota terhitung yang dibuat dengan menggunakan kata kunci WITH tidak ada lagi setelah kueri selesai berjalan.
Seperti yang dibahas dalam topik ini, sintaks kata kunci WITH cukup fleksibel, bahkan memungkinkan anggota terhitung untuk didasarkan pada anggota terhitung lain.
Catatan
Untuk informasi selengkapnya tentang anggota terhitung, lihat Membangun Anggota Terhitung di MDX (MDX).
Sintaks Kata Kunci WITH
Gunakan sintaks berikut untuk menambahkan kata kunci WITH ke pernyataan MDX SELECT:
[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ] SELECT [ * | ( <SELECT query axis clause> [ , <SELECT query axis clause> ... ] ) ]FROM <SELECT subcube clause> [ <SELECT slicer axis clause> ][ <SELECT cell property list clause> ]
<SELECT WITH clause> ::=
( [ CALCULATED ] MEMBER <CREATE MEMBER body clause>) | <CREATE MEMBER body clause> ::= Member_Identifier AS 'MDX_Expression'
[ <CREATE MEMBER property clause> [ , <CREATE MEMBER property clause> ... ] ]
<CREATE MEMBER property clause> ::=
( MemberProperty_Identifier = Scalar_Expression )
Dalam sintaks untuk kata kunci WITH, Member_Identifier
nilainya adalah nama anggota terhitung yang sepenuhnya memenuhi syarat. Nama yang sepenuhnya memenuhi syarat ini mencakup dimensi atau tingkat di mana anggota terhitung dikaitkan. Nilai MDX_Expression
mengembalikan nilai anggota yang dihitung setelah nilai ekspresi dievaluasi. Nilai properti sel intrinsik untuk anggota terhitung dapat ditentukan secara opsional dengan memberikan nama properti sel dalam MemberProperty_Identifier
nilai dan nilai properti sel dalam Scalar_Expression
nilai.
Contoh Kata Kunci WITH
Kueri MDX berikut mendefinisikan anggota terhitung, [Measures].[Special Discount]
, menghitung diskon khusus berdasarkan jumlah diskon asli.
WITH
MEMBER [Measures].[Special Discount] AS
[Measures].[Discount Amount] * 1.5
SELECT
[Measures].[Special Discount] on COLUMNS,
NON EMPTY [Product].[Product].MEMBERS ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]
Anda juga dapat membuat anggota terhitung kapan saja dalam hierarki. Misalnya, kueri MDX berikut menentukan [BigSeller]
anggota terhitung untuk kubus Penjualan hipotetis. Anggota terhitung ini menentukan apakah toko tertentu memiliki setidaknya 100,00 dalam penjualan unit untuk bir dan anggur. Namun, kueri membuat [BigSeller]
anggota terhitung bukan sebagai anggota anak dari [Product]
dimensi, tetapi sebaliknya sebagai anggota anak anggota [Beer and Wine]
.
WITH
MEMBER [Product].[Beer and Wine].[BigSeller] AS
IIf([Product].[Beer and Wine] > 100, "Yes","No")
SELECT
{[Product].[BigSeller]} ON COLUMNS,
Store.[Store Name].Members ON ROWS
FROM Sales
Anggota terhitung tidak harus hanya bergantung pada anggota yang ada dalam kubus. Anggota terhitung juga dapat didasarkan pada anggota terhitung lainnya yang ditentukan dalam ekspresi MDX yang sama. Misalnya, kueri MDX berikut menggunakan nilai yang dibuat di anggota terhitung pertama, [Measures].[Special Discount]
, untuk menghasilkan nilai anggota terhitung kedua, [Measures].[Special Discounted Amount]
.
WITH
MEMBER [Measures].[Special Discount] AS
[Measures].[Discount Percentage] * 1.5,
FORMAT_STRING = 'Percent'
MEMBER [Measures].[Special Discounted Amount] AS
[Measures].[Reseller Average Unit Price] * [Measures].[Special Discount],
FORMAT_STRING = 'Currency'
SELECT
{[Measures].[Special Discount], [Measures].[Special Discounted Amount]} on COLUMNS,
NON EMPTY [Product].[Product].MEMBERS ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]
Lihat juga
Referensi Fungsi MDX (MDX)
Pernyataan SELECT (MDX)
Membuat Anggota Terhitung Session-Scoped (MDX)