DrilldownLevel (MDX)

Menelusuri anggota set ke satu tingkat di bawah tingkat terendah yang diwakili dalam set.

Menentukan tingkat untuk menelusuri paling detail bersifat opsional, tetapi jika Anda mengatur tingkat, Anda dapat menggunakan ekspresi tingkat atau tingkat indeks. Argumen ini saling eksklusif. Terakhir, jika anggota terhitung ada dalam kueri, Anda dapat menentukan argumen untuk menyertakannya dalam set baris.

Sintaks

DrilldownLevel(Set_Expression [,[Level_Expression] ,[Index]] [,INCLUDE_CALC_MEMBERS])  

Argumen

Set_Expression
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan satu set.

Level_Expression
(Opsional). Ekspresi MDX yang secara eksplisit mengidentifikasi tingkat untuk menelusuri paling detail. Jika Anda menentukan ekspresi tingkat, lewati argumen indeks di bawah ini.

Index
(Opsional). Ekspresi numerik valid yang menentukan angka hierarki untuk menelusuri paling detail dalam set. Anda dapat menggunakan tingkat indeks alih-alih Level_Expression untuk secara eksplisit mengidentifikasi tingkat untuk menelusuri paling detail.

Include_Calc_Members
(Opsional). Bendera yang menunjukkan apakah akan menyertakan anggota terhitung, jika ada, pada tingkat penelusuran paling detail.

Keterangan

Fungsi DrilldownLevel mengembalikan sekumpulan anggota anak dalam urutan hierarkis, berdasarkan anggota yang disertakan dalam set yang ditentukan. Urutan dipertahankan di antara anggota asli dalam set yang ditentukan, kecuali bahwa semua anggota anak yang disertakan dalam kumpulan hasil fungsi disertakan segera di bawah anggota induk mereka.

Mengingat struktur data hierarkis multi-tingkat, Anda dapat secara eksplisit memilih tingkat untuk menelusuri paling detail. Ada dua cara yang saling eksklusif untuk menentukan tingkat. Pendekatan pertama adalah mengatur argumen level_expression menggunakan ekspresi MDX yang mengembalikan tingkat, Pendekatan alternatif adalah menentukan argumen indeks , menggunakan ekspresi numerik yang menentukan tingkat menurut angka.

Jika ekspresi tingkat ditentukan, fungsi membuat set dalam urutan hierarkis dengan mengambil turunan hanya dari anggota yang berada di tingkat yang ditentukan. Jika ekspresi tingkat ditentukan dan tidak ada anggota di tingkat tersebut, ekspresi tingkat diabaikan.

Jika nilai indeks ditentukan, fungsi membuat set dalam urutan hierarkis dengan mengambil turunan hanya dari anggota yang berada di tingkat terendah berikutnya dari hierarki yang direferensikan dalam set yang ditentukan, mengingat indeks berbasis nol.

Jika tidak ada ekspresi tingkat atau nilai indeks yang ditentukan, fungsi membuat set dalam urutan hierarkis dengan mengambil turunan hanya dari anggota yang berada di tingkat terendah dari dimensi pertama yang direferensikan dalam set yang ditentukan.

Mengkueri properti XMLA MdpropMdxDrillFunctions memungkinkan Anda memverifikasi tingkat dukungan yang disediakan server untuk fungsi pengeboran; lihat Properti XMLA (XMLA) yang didukung untuk detailnya.

Contoh

Anda dapat mencoba contoh berikut di jendela kueri MDX di SSMS, menggunakan kubus Adventure Works.

Contoh 1 - menunjukkan sintaks minimal

Contoh pertama memperlihatkan sintaks minimal untuk DrilldownLevel. Satu-satunya argumen yang diperlukan adalah ekspresi yang ditetapkan. Perhatikan bahwa saat menjalankan kueri ini, Anda mendapatkan induk [Semua Kategori] dan anggota tingkat berikutnya ke bawah: [Aksesori], [Sepeda], dan sebagainya. Meskipun contoh ini sederhana, contoh ini menunjukkan tujuan dasar fungsi DrilldownLevel , yang menelusuri ke tingkat berikutnya di bawah ini.

SELECT DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]}}) ON COLUMNS  
FROM [Adventure Works]  

Contoh 2 - sintaks alternatif menggunakan tingkat indeks eksplisit

Contoh ini menunjukkan sintaks alternatif, di mana tingkat indeks ditentukan melalui ekspresi numerik. Dalam hal ini, tingkat indeks adalah 0. Untuk indeks berbasis nol, ini adalah tingkat terendah.

SELECT  
DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]},,0) ON COLUMNS  
FROM [Adventure Works]  

Perhatikan bahwa kumpulan hasil identik dengan kueri sebelumnya. Sebagai aturan umum, mengatur tingkat indeks tidak perlu kecuali Anda ingin telusuri paling detail dimulai pada tingkat tertentu. Jalankan kembali kueri sebelumnya, atur nilai indeks ke 1, lalu 2. Dengan nilai indeks diatur ke 1, Anda akan melihat penelusuran paling detail dimulai pada tingkat kedua dalam hierarki. Dengan nilai indeks diatur ke 2, telusuri paling detail dimulai pada tingkat ketiga, tingkat tertinggi dalam contoh ini. Semakin tinggi ekspresi numerik, semakin tinggi tingkat indeks.

Contoh 3 - menunjukkan ekspresi tingkat

Contoh berikutnya memperlihatkan cara menggunakan ekspresi tingkat. Mengingat set yang mewakili struktur hierarkis, menggunakan ekspresi tingkat memungkinkan Anda memilih tingkat dalam hierarki untuk memulai penelusuran paling detail.

Dalam contoh ini, tingkat penelusuran paling detail dimulai di [Kota], sebagai argumen kedua dari fungsi DrilldownLevel . Saat Anda menjalankan kueri ini, telusuri paling detail dimulai di tingkat [Kota], untuk status Washington dan Oregon. Sesuai fungsi DrilldownLevel, kumpulan hasil juga menyertakan anggota pada tingkat berikutnya ke bawah, [Kode pos].

SELECT [Measures].[Internet Sales Amount] ON COLUMNS,  
   NON EMPTY (  
   DRILLDOWNLEVEL(  
       {[Customer].[Customer Geography].[Country].[United States],  
           DESCENDANTS(  
             { [Customer].[Customer Geography].[State-Province].[Washington],    
               [Customer].[Customer Geography].[State-Province].[Oregon]},   
               [Customer].[Customer Geography].[City]) } ,  
[Customer].[Customer Geography].[City] ) )  ON ROWS  
FROM [Adventure Works]  

Contoh 4 - termasuk anggota terhitung

Contoh terakhir memperlihatkan anggota terhitung, yang muncul di bagian bawah tataan hasil saat Anda menambahkan bendera include_calculated_members . Perhatikan bahwa bendera ditentukan sebagai parameter keempat.

Contoh ini berfungsi karena anggota terhitung berada pada tingkat yang sama dengan anggota yang tidak dihitung. Anggota terhitung [West Coast] terdiri dari anggota dari [Amerika Serikat], ditambah semua anggota satu tingkat di bawah [Amerika Serikat].

WITH MEMBER   
[Customer].[Customer Geography].[Country].&[United States].[West Coast] AS  
[Customer].[Customer Geography].[State-Province].&[OR]&[US] +  
[Customer].[Customer Geography].[State-Province].&[WA]&[US] +  
[Customer].[Customer Geography].[State-Province].&[CA]&[US]  
SELECT [Measures].[Internet Order Count] ON 0,  
DRILLDOWNLEVEL([Customer].[Customer Geography].[Country].&[United States],,,INCLUDE_CALC_MEMBERS) on 1  
FROM [Adventure Works]  

Jika Anda hanya menghapus bendera dan menjalankan kembali kueri, Anda mendapatkan hasil yang sama, dikurangi anggota terhitung, [West Coast].

Lihat Juga

Referensi Fungsi MDX (MDX)