Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Melakukan drill ke bawah anggota sebuah set hingga satu level di bawah level terendah yang diwakili dalam set tersebut.
Menentukan level untuk menelusuri lebih dalam adalah opsional, tetapi jika Anda mengatur level, Anda dapat menggunakan ekspresi level atau level indeks. Argumen-argumen ini saling bertentangan. Terakhir, jika anggota yang dihitung hadir dalam kueri, Anda dapat menentukan argumen untuk memasukkannya ke dalam rowset.
Syntax
DrilldownLevel(Set_Expression [,[Level_Expression] ,[Index]] [,INCLUDE_CALC_MEMBERS])
Arguments
Set_Expression
Ekspresi Multidimensional Expressions (MDX) valid yang mengembalikan set.
Level_Expression
(Opsional). Ekspresi MDX yang secara eksplisit mengidentifikasi level untuk menelusuri lebih dalam. Jika Anda menentukan ekspresi level, lewati argumen indeks di bawah ini.
Indeks
(Opsional). Ekspresi numerik yang valid yang menentukan jumlah hierarki yang akan diteliti dalam himpunan. Anda dapat menggunakan level indeks alih-alih Level_Expression untuk secara eksplisit mengidentifikasi level di mana Anda akan melakukan drill down.
Include_Calc_Members
(Opsional). Sebuah bendera yang menunjukkan apakah anggota yang dihitung akan dimasukkan, jika ada, pada tingkat drill down.
Remarks
Fungsi DrilldownLevel mengembalikan satu set anggota anak dalam urutan hierarkis, berdasarkan anggota yang termasuk dalam set yang ditentukan. Urutan dipertahankan di antara anggota asli dalam set yang ditentukan, kecuali semua anggota anak yang termasuk dalam set hasil fungsi dimasukkan langsung di bawah anggota induknya.
Dengan struktur data hierarkis multi-level, Anda dapat secara eksplisit memilih level untuk menelusuri lebih dalam. Ada dua cara yang saling eksklusif untuk menentukan level. Pendekatan pertama adalah mengatur argumen level_expression menggunakan ekspresi MDX yang mengembalikan level. Pendekatan alternatif adalah menentukan argumen indeks , menggunakan ekspresi numerik yang menentukan level berdasarkan angka.
Jika sebuah ekspresi level ditentukan, fungsi tersebut membangun himpunan dalam urutan hierarkis dengan mengambil anak dari anggota yang berada pada level yang ditentukan. Jika sebuah ekspresi level ditentukan dan tidak ada anggota di level tersebut, ekspresi level tersebut diabaikan.
Jika nilai indeks ditentukan, fungsi ini membangun himpunan dalam urutan hierarkis dengan mengambil anak-anak dari anggota yang berada pada tingkat terendah berikutnya dari hierarki yang dirujuk dalam himpunan yang ditentukan, diberikan indeks berbasis nol.
Jika tidak ada ekspresi level maupun nilai indeks yang ditentukan, fungsi membangun himpunan dalam urutan hierarkis dengan mengambil anak-anak hanya dari anggota yang berada di level terendah dari dimensi pertama yang dirujuk dalam himpunan yang ditentukan.
Melakukan kueri pada properti XMLA MdpropMdxDrillFunctions memungkinkan Anda memverifikasi tingkat dukungan yang disediakan server untuk fungsi pengeboran; lihat Properti XMLA yang Didukung (XMLA) untuk detailnya.
Examples
Anda dapat mencoba contoh berikut di jendela query MDX di SSMS, menggunakan kubus Adventure Works.
Contoh 1 - menunjukkan sintaks minimal
Contoh pertama menunjukkan sintaks minimal untuk DrilldownLevel. Satu-satunya argumen yang diperlukan adalah ekspresi himpunan. Perhatikan bahwa saat Anda menjalankan kueri ini, Anda akan menurunkan induk [Semua Kategori] dan anggota dari level berikutnya: [Aksesori], [Sepeda Motor], dan seterusnya. Meskipun contoh ini sederhana, ini menunjukkan tujuan dasar dari fungsi DrilldownLevel , yaitu melakukan drilling ke level berikutnya di bawahnya.
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 kasus ini, tingkat indeks adalah 0. Untuk indeks berbasis nol, ini adalah level terendah.
SELECT
DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]},,0) ON COLUMNS
FROM [Adventure Works]
Perhatikan bahwa set hasil identik dengan kueri sebelumnya. Sebagai aturan umum, menetapkan level indeks tidak perlu kecuali Anda ingin drill down dimulai dari level tertentu. Jalankan ulang kueri sebelumnya, atur nilai indeks ke 1, lalu 2. Dengan nilai indeks diatur ke 1, Anda melihat drill down dimulai pada tingkat kedua dalam hierarki. Dengan nilai indeks diatur ke 2, drill down dimulai dari level ketiga, level tertinggi dalam contoh ini. Semakin tinggi ekspresi numerik, semakin tinggi tingkat indeksnya.
Contoh 3 - menunjukkan ekspresi level
Contoh berikut menunjukkan cara menggunakan ekspresi level. Diberikan himpunan yang mewakili struktur hierarkis, menggunakan ekspresi level memungkinkan Anda memilih level dalam hierarki untuk memulai drill down.
Dalam contoh ini, tingkat drill down dimulai dari [City], sebagai argumen kedua dari fungsi DrilldownLevel . Saat Anda menjalankan kueri ini, telusuri mulai dari tingkat [Kota], untuk negara bagian Washington dan Oregon. Menurut fungsi DrilldownLevel , set hasil juga mencakup anggota di tingkat berikutnya, [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 yang dihitung
Contoh terakhir menunjukkan anggota terhitung, yang muncul di bagian bawah hasil saat Anda menambahkan flag include_calculated_members . Perhatikan bahwa flag ditentukan sebagai parameter keempat.
Contoh ini bekerja karena anggota yang dihitung berada pada level yang sama dengan anggota yang tidak dihitung. Anggota yang dihitung [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 flag dan menjalankan ulang kueri, hasilnya sama, dikurangi anggota yang dihitung, [West Coast].