Bagikan melalui


Properti Anggota MDX - Properti Anggota Intrinsik

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

SQL Server Analysis Services mengekspos properti intrinsik pada anggota dimensi yang dapat Anda sertakan dalam kueri untuk mengembalikan data atau metadata tambahan untuk digunakan dalam aplikasi kustom, atau untuk membantu dalam penyelidikan atau konstruksi model. Jika Anda menggunakan alat klien SQL Server, Anda dapat melihat properti intrinsik di SQL Server Management Studio (SSMS).

Properti intrinsik termasuk ID, KEY, KEYx, dan NAME, yang merupakan properti yang diekspos oleh setiap anggota, pada tingkat apa pun. Anda juga dapat mengembalikan informasi posisi, seperti LEVEL_NUMBER atau PARENT_UNIQUE_NAME, antara lain.

Bergantung pada cara Anda membuat kueri, dan pada aplikasi klien yang Anda gunakan untuk menjalankan kueri, properti anggota mungkin atau mungkin tidak terlihat dalam tataan hasil. Jika Anda menggunakan SQL Server Management Studio untuk menguji atau menjalankan kueri, Anda bisa mengklik dua kali anggota dalam tataan hasil untuk membuka kotak dialog Properti Anggota, memperlihatkan nilai untuk setiap properti anggota intrinsik.

Untuk pengenalan penggunaan dan tampilan properti anggota dimensi, lihat Menampilkan Properti Anggota SSAS dalam Jendela Kueri MDX di SSMS.

Catatan

Sebagai penyedia yang mematuhi bagian OLAP dari spesifikasi OLE DB tertanggal 1999 Maret (2.6), Microsoft SQL Server SQL Server Analysis Services mendukung properti anggota intrinsik yang tercantum dalam topik ini.

Penyedia selain SQL ServerSQL Server Analysis Services dapat mendukung properti anggota intrinsik tambahan. Untuk informasi selengkapnya tentang properti anggota intrinsik yang didukung oleh penyedia lain, lihat dokumentasi yang disertakan dengan penyedia tersebut.

Tipe Properti Anggota

Properti anggota intrinsik yang didukung oleh SQL Server SQL Server Analysis Services terdiri dari dua jenis:

Properti anggota sensitif konteks
Properti anggota ini harus digunakan dalam konteks hierarki atau tingkat tertentu, dan menyediakan nilai untuk setiap anggota dimensi atau tingkat yang ditentukan.

Perhatikan bagaimana contoh berikut menyertakan jalur untuk properti KEY : MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY").

Properti anggota sensitif non-konteks
Properti anggota ini tidak dapat digunakan dalam konteks dimensi atau tingkat tertentu, dan mengembalikan nilai untuk semua anggota pada sumbu.

Properti yang tidak sensitif konteks mandiri dan tidak menyertakan informasi jalur. Perhatikan bagaimana tidak ada dimensi atau tingkat yang ditentukan untuk PARENT_UNIQUE_NAME dalam contoh berikut: DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS

Terlepas dari apakah properti anggota intrinsik peka konteks atau tidak, aturan penggunaan berikut berlaku:

  • Anda hanya dapat menentukan properti anggota intrinsik yang terkait dengan anggota dimensi yang diproyeksikan pada sumbu.

  • Anda dapat mencampur permintaan untuk properti anggota sensitif konteks dalam kueri yang sama dengan properti anggota intrinsik sensitif non-konteks.

  • Anda menggunakan kata kunci PROPERTIES untuk mengkueri properti.

Bagian berikut menjelaskan berbagai properti anggota intrinsik sensitif konteks dan non-konteks yang tersedia di SQL Server SQL Server Analysis Services, dan cara menggunakan kata kunci PROPERTIES dengan setiap jenis properti.

Properti Anggota Sensitif Konteks

Semua anggota dimensi dan anggota tingkat mendukung daftar properti anggota intrinsik yang sensitif terhadap konteks. Tabel berikut mencantumkan properti sensitif konteks ini.

Properti Deskripsi
ID ID yang dipertahankan secara internal untuk anggota.
Kunci Nilai kunci anggota dalam jenis data asli. MEMBER_KEY adalah untuk kompatibilitas mundur. MEMBER_KEY memiliki nilai yang sama dengan KEY0 untuk kunci non-komposit, dan properti MEMBER_KEY null untuk kunci komposit.
KEYx Kunci untuk anggota, di mana x adalah ordinal kunci berbasis nol. KEY0 tersedia untuk kunci komposit dan non-komposit, tetapi terutama digunakan untuk kunci komposit.

Untuk kunci komposit, KEY0, KEY1, KEY2, dan sebagainya, secara kolektif membentuk kunci komposit. Anda dapat menggunakan masing-masing secara independen dalam kueri untuk mengembalikan bagian kunci komposit tersebut. Misalnya, menentukan KEY0 mengembalikan bagian pertama dari kunci komposit, menentukan KEY1 mengembalikan bagian berikutnya dari kunci komposit, dan sebagainya.

Jika kuncinya non-komposit, maka KEY0 setara dengan Kunci.

Perhatikan bahwa KEYx dapat digunakan dalam konteks serta tanpa konteks. Untuk alasan ini, muncul di kedua daftar.

Untuk contoh cara menggunakan properti anggota ini, lihat MDX Tidbit Sederhana: Key0, Key1, Key2.
Nama Nama anggota.

Sintaks PROPERTIES untuk Properti Sensitif Konteks

Anda menggunakan properti anggota ini dalam konteks dimensi atau tingkat tertentu, dan menyediakan nilai untuk setiap anggota dimensi atau tingkat yang ditentukan.

Untuk properti anggota dimensi, Anda mendahului nama properti dengan nama dimensi yang diterapkan properti. Contoh berikut menunjukkan sintaks yang sesuai:

DIMENSION PROPERTIES Dimension.Property_name

Untuk properti anggota tingkat, Anda dapat mendahului nama properti hanya dengan nama tingkat atau, untuk spesifikasi tambahan, baik nama dimensi maupun tingkat. Contoh berikut menunjukkan sintaks yang sesuai:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Untuk mengilustrasikan, Anda ingin mengembalikan semua nama setiap anggota yang direferensikan [Sales] dalam dimensi. Untuk mengembalikan nama-nama ini, Anda akan menggunakan pernyataan berikut dalam kueri Ekspresi Multidimensi (MDX):

DIMENSION PROPERTIES [Sales].Name

Properti Anggota Sensitif Non-Konteks

Semua anggota mendukung daftar properti anggota intrinsik yang sama terlepas dari konteksnya. Properti ini memberikan informasi tambahan yang dapat digunakan oleh aplikasi untuk meningkatkan pengalaman pengguna.

Tabel berikut mencantumkan properti intrinsik sensitif non-konteks yang didukung oleh SQL Server SQL Server Analysis Services.

Catatan

Kolom dalam kumpulan baris skema MEMBERS mendukung properti anggota intrinsik yang tercantum dalam tabel berikut ini. Untuk informasi selengkapnya tentang kumpulan baris skema MEMBERS , lihat kumpulan baris MDSCHEMA_MEMBERS.

Properti Deskripsi
CATALOG_NAME Nama kubus tempat anggota ini berada.
CHILDREN_CARDINALITY Jumlah anak yang dimiliki anggota. Ini bisa menjadi perkiraan, jadi Anda tidak boleh mengandalkan ini untuk menjadi jumlah yang tepat. Penyedia harus mengembalikan perkiraan terbaik.
CUSTOM_ROLLUP Ekspresi anggota kustom.
CUSTOM_ROLLUP_PROPERTIES Properti anggota kustom.
DESKRIPSI Deskripsi anggota yang dapat dibaca manusia.
DIMENSION_UNIQUE_NAME Nama unik dimensi tempat anggota ini berada. Untuk penyedia yang menghasilkan nama unik berdasarkan kualifikasi, setiap komponen nama ini dibatasi.
HIERARCHY_UNIQUE_NAME Nama unik hierarki. Jika anggota memiliki lebih dari satu hierarki, ada satu baris untuk setiap hierarki tempat anggota berada. Untuk penyedia yang menghasilkan nama unik berdasarkan kualifikasi, setiap komponen nama ini dibatasi.
IS_DATAMEMBER Boolean yang menunjukkan apakah anggota adalah anggota data.
IS_PLACEHOLDERMEMBER Boolean yang menunjukkan apakah anggota adalah tempat penampung.
KEYx Kunci untuk anggota, di mana x adalah ordinal kunci berbasis nol. KEY0 tersedia untuk kunci komposit dan non-komposit.

Jika kuncinya non-komposit, maka KEY0 setara dengan Kunci.

Untuk kunci komposit, KEY0, KEY1, KEY2, dan sebagainya, secara kolektif membentuk kunci komposit. Anda dapat mereferensikan masing-masing secara independen dalam kueri untuk mengembalikan bagian kunci komposit tersebut. Misalnya, menentukan KEY0 mengembalikan bagian pertama dari kunci komposit, menentukan KEY1 mengembalikan bagian berikutnya dari kunci komposit, dan sebagainya.

Perhatikan bahwa KEYx dapat digunakan dalam konteks serta tanpa konteks. Untuk alasan ini, muncul di kedua daftar.

Untuk contoh cara menggunakan properti anggota ini, lihat MDX Tidbit Sederhana: Key0, Key1, Key2.
LCIDx Terjemahan anggota caption dalam nilai heksadesimal ID lokal, di mana x adalah nilai desimal ID lokal (misalnya, LCID1009 sebagai Bahasa Inggris-Kanada). Ini hanya tersedia jika terjemahan memiliki kolom caption yang terikat ke sumber data.
LEVEL_NUMBER Jarak anggota dari akar hierarki. Tingkat akar adalah nol.
LEVEL_UNIQUE_NAME Nama unik tingkat tempat anggota berada. Untuk penyedia yang menghasilkan nama unik berdasarkan kualifikasi, setiap komponen nama ini dibatasi.
MEMBER_CAPTION Label atau caption yang terkait dengan anggota. Caption terutama untuk tujuan tampilan. Jika caption tidak ada, kueri akan mengembalikan MEMBER_NAME.
MEMBER_KEY Nilai kunci anggota dalam jenis data asli. MEMBER_KEY adalah untuk kompatibilitas mundur. MEMBER_KEY memiliki nilai yang sama dengan KEY0 untuk kunci non-komposit, dan properti MEMBER_KEY null untuk kunci komposit.
MEMBER_NAME Nama anggota.
MEMBER_TYPE Jenis anggota. Properti ini bisa memiliki salah satu nilai berikut:

MDMEMBER_TYPE_REGULAR

MDMEMBER_TYPE_ALL

MDMEMBER_TYPE_FORMULA

MDMEMBER_TYPE_MEASURE

MDMEMBER_TYPE_UNKNOWN



Catatan: MDMEMBER_TYPE_FORMULA lebih diutamakan daripada MDMEMBER_TYPE_MEASURE. Oleh karena itu, jika ada anggota rumus (dihitung) pada dimensi Pengukuran, properti MEMBER_TYPE untuk anggota terhitung MDMEMBER_TYPE_FORMULA.
MEMBER_UNIQUE_NAME Nama unik anggota. Untuk penyedia yang menghasilkan nama unik berdasarkan kualifikasi, setiap komponen nama ini dibatasi.
MEMBER_VALUE Nilai anggota dalam jenis asli.
PARENT_COUNT Jumlah orang tua yang dimiliki anggota ini.
PARENT_LEVEL Jarak induk anggota dari tingkat akar hierarki. Tingkat akar adalah nol.
PARENT_UNIQUE_NAME Nama unik induk anggota. NULL dikembalikan untuk setiap anggota di tingkat akar. Untuk penyedia yang menghasilkan nama unik berdasarkan kualifikasi, setiap komponen nama ini dibatasi.
SKIPPED_LEVELS Jumlah tingkat yang dilewati untuk anggota.
UNARY_OPERATOR Operator unary untuk anggota.
UNIQUE_NAME Nama anggota yang sepenuhnya memenuhi syarat, dalam format ini: [dimensi]. [level]. [key6.]

Sintaks PROPERTI untuk Properti Sensitif Non-Konteks

Gunakan sintaks berikut untuk menentukan properti anggota sensitif intrinsik dan non-konteks menggunakan kata kunci PROPERTIES :

DIMENSION PROPERTIES Property

Perhatikan bahwa sintaks ini tidak memungkinkan properti memenuhi syarat oleh dimensi atau tingkat. Properti tidak dapat memenuhi syarat karena properti anggota intrinsik yang tidak sensitif konteks berlaku untuk semua anggota sumbu.

Misalnya, pernyataan MDX yang menentukan properti anggota intrinsik DESCRIPTION akan memiliki sintaks berikut:

DIMENSION PROPERTIES DESCRIPTION

Pernyataan ini mengembalikan deskripsi setiap anggota dalam dimensi sumbu. Jika Anda mencoba memenuhi syarat properti dengan dimensi atau tingkat, seperti dalam Dimensi.DESCRIPTION atau Tingkat.DESCRIPTION, pernyataan tidak akan memvalidasi.

Contoh

Contoh berikut menunjukkan kueri MDX yang mengembalikan properti intrinsik.

Contoh 1: Menggunakan properti intrinsik peka konteks dalam kueri

Contoh berikut mengembalikan ID, kunci, dan nama induk untuk setiap kategori produk. Perhatikan bagaimana properti diekspos sebagai langkah-langkah. Ini memungkinkan Anda menampilkan properti dalam sel saat Anda menjalankan kueri, bukan dialog Properti Anggota di SSMS. Anda mungkin menjalankan kueri seperti ini untuk mengambil metadata anggota dari kubus yang sudah disebarkan.

WITH  
MEMBER [Measures].[Parent Member ID] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")  
MEMBER [Measures].[Parent Member Key] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")  
MEMBER [Measures].[Parent Member Name] AS  
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")  
SELECT  
 {[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS,   
 [Product].[Product Categories].AllMembers on ROWS  
FROM [Adventure Works]  

Contoh 2: Properti intrinsik yang tidak peka konteks

Contoh berikut adalah daftar lengkap properti intrinsik yang tidak peka konteks. Setelah menjalankan kueri di SSMS, klik anggota individual untuk menampilkan properti dalam kotak dialog Properti Anggota.

SELECT [Measures].[Sales Amount Quota] on COLUMNS,  
[Employee].[Employees].members  
DIMENSION PROPERTIES  
 CATALOG_NAME ,   
 CHILDREN_CARDINALITY ,  
 CUSTOM_ROLLUP ,   
 CUSTOM_ROLLUP_PROPERTIES ,   
 DESCRIPTION ,   
 DIMENSION_UNIQUE_NAME ,   
 HIERARCHY_UNIQUE_NAME ,  
 IS_DATAMEMBER ,   
 IS_PLACEHOLDERMEMBER ,   
 KEY0 ,  
 LCID ,  
 LEVEL_NUMBER ,  
 LEVEL_UNIQUE_NAME ,  
 MEMBER_CAPTION ,   
 MEMBER_KEY ,   
 MEMBER_NAME ,   
 MEMBER_TYPE ,  
 MEMBER_UNIQUE_NAME ,   
 MEMBER_VALUE ,   
 PARENT_COUNT ,   
 PARENT_LEVEL ,   
 PARENT_UNIQUE_NAME ,  
 SKIPPED_LEVELS ,   
 UNARY_OPERATOR ,   
 UNIQUE_NAME    
 ON ROWS  
FROM [Adventure Works]  
WHERE [Employee].[Employee Department].[Department].&[Sales]  

Contoh 3: Mengembalikan properti anggota sebagai data dalam tataan hasil

Contoh berikut mengembalikan caption yang diterjemahkan untuk anggota kategori produk dalam dimensi Produk di kubus Adventure Works untuk lokal tertentu.

WITH   
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION  
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")  
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")  
SELECT   
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0  
,[Product].[Category].MEMBERS ON 1  
FROM [Adventure Works]  
  

Lihat juga

PeriodsToDate (MDX)
Turunan (MDX)
Hierarki (MDX)
Hitung (Set) (MDX)
Filter (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Properti (MDX)
PrevMember (MDX)
Menggunakan Properti Anggota (MDX)
Referensi Fungsi MDX (MDX)