Pengidentifikasi (MDX)

Pengenal adalah nama objek Analysis Services. Setiap objek dapat dan harus memiliki pengenal. Ini termasuk kubus, dimensi, hierarki, level, anggota, dan sebagainya. Anda menggunakan pengenal objek untuk merujuk objek tersebut dalam pernyataan Multidimensional Expressions (MDX).

Tergantung pada cara Anda menamai objek, pengenal dari pengenal objek akan berupa pengenal reguler atau delimited.

Note

Baik pengenal reguler maupun terbatas harus berisi antara 1 hingga 100 karakter.

Menggunakan Pengenal Reguler

Pengenal reguler adalah nama objek yang mematuhi aturan pemformatan berikut untuk pengenal reguler. Pengenal reguler dapat digunakan dengan atau tanpa pembatas.

Aturan Format untuk Pengidentifikasi Reguler

  1. Karakter pertama harus salah satu dari berikut ini:

    • Sebuah huruf sebagaimana didefinisikan oleh Unicode Standard 2.0. Selain karakter huruf dari bahasa lain, definisi huruf Unicode mencakup karakter Latin dari a hingga z dan dari A hingga Z.

    • Garis bawah (_).

  2. Karakter berikutnya dapat berupa:

    • Huruf sebagaimana didefinisikan dalam Unicode Standard 2.0.

    • Angka desimal dari Bahasa Latin Dasar atau skrip nasional lainnya.

    • Garis bawah (_).

  3. Pengenal tersebut tidak boleh berupa kata kunci cadangan MDX. Kata kunci yang dicadangkan tidak peka huruf besar/kecil di MDX. Untuk informasi lebih lanjut, lihat Kata Kunci Cadangan (Sintaks MDX).

  4. Spasi tambahan atau karakter khusus tidak diizinkan.

Contoh Pengidentifikasi Reguler

Dalam pernyataan MDX berikut, pengenal MeasuresProduct, , dan Style, mematuhi aturan pemformatan untuk pengenal reguler. Pengenal reguler ini tidak memerlukan pembatas.

SELECT Measures.MEMBERS ON COLUMNS,  
Product.Style.CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Meskipun tidak wajib, Anda juga bisa menggunakan pembatas dengan pengenal reguler. Dalam pernyataan MDX berikut, Measures, Product, dan Style pengenal reguler telah dibatasi dengan benar menggunakan tanda kurung.

SELECT [Measures].MEMBERS ON COLUMNS,  
[Product].[Style].CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Menggunakan Pengenal Terbatas

Pengidentifikasi yang tidak sesuai dengan aturan pemformatan untuk pengenal reguler harus selalu dibatasi dengan menggunakan tanda kurung ([]).

Note

Delimiter hanya untuk pengidentifikasi. Pemisah tidak dapat digunakan untuk kata kunci, baik kata kunci tersebut ditandai sebagai cadangan di Layanan Analisis atau tidak.

Anda menggunakan pengenal terbatas dalam situasi berikut:

  • Ketika nama sebuah objek atau sebagian nama menggunakan kata-kata yang dicadangkan.

    Kami menyarankan agar kata kunci yang dicadangkan tidak digunakan sebagai nama objek. Basis data yang ditingkatkan dari versi Analysis Services sebelumnya mungkin berisi pengenal yang mencakup kata-kata yang tidak dicadangkan di versi sebelumnya, tetapi sekarang dicadangkan. Sampai Anda dapat mengubah pengenal objek, Anda dapat merujuk objek menggunakan pengenal yang dipisahkan.

  • Ketika nama objek menggunakan karakter yang tidak tercantum sebagai pengenal yang memenuhi syarat.

    Analysis Services memungkinkan pengenal terbatas menggunakan karakter apa pun di halaman kode saat ini. Namun, penggunaan karakter khusus secara sembarangan dalam nama objek dapat membuat pernyataan dan skrip MDX sulit dibaca dan dipelihara.

Aturan Format untuk Identifikasi Terbatas

Isi dari pengenal yang didelimitasi dapat berisi kombinasi karakter apa pun di halaman kode saat ini, termasuk karakter pembatas itu sendiri. Jika isi pengenal yang dipisahkan berisi karakter pembatas, penanganan khusus diperlukan:

  • Jika badan pengenal hanya mengandung kurung kiri ([), tidak diperlukan penanganan tambahan.

  • Jika badan pengenal mengandung kurung kanan (]), Anda harus menentukan dua kurung kanan (]]).

Contoh Pengidentifikasi Terbatas

Dalam pernyataan MDX hipotetis berikut, Sales Volume, Sales Cube, dan select adalah pengenal yang dipisahkan:

-- The [Sales Volume] and [Sales Cube] identifiers contain a space.  
SELECT Measures.[Sales Volume]  
FROM [Sales Cube]  
WHERE Product.[select]  
-- The [select] identifier is a reserved keyword.  

Dalam contoh berikutnya, nama sebuah objek adalah Total Profit [Domestic]. Untuk merujuk objek ini, Anda harus menggunakan pengenal terbatas berikut:

[Total Profit [Domestic]]]

Perhatikan bahwa kurung kiri sebelumnya Domestic tidak perlu diubah untuk membuat pengenal yang dipisahkan. Namun, braket kanan di belakang Domestic harus diganti dengan dua bracket kanan.

Membatasi Identifikasi dengan Beberapa Bagian

Ketika Anda menggunakan nama objek yang memenuhi syarat, Anda mungkin harus membatasi lebih dari satu pengenal yang membentuk nama objek tersebut. Sebagai contoh, pengenal Rem Depan dalam kode berikut perlu ditentukan pembatasnya.

PILIH [Ukuran]. ANGGOTA DI KOLOM,

[Produk]. [Produk]. [Rem Depan] BERBARIS

DARI [Adventure Works]

Selain itu, pengenal Ukuran pada contoh sebelumnya dibatasi untuk menunjukkan pembatasan lebih dari satu pengidentifikasi.