Leluhur (MDX)
Fungsi yang mengembalikan sekumpulan semua leluhur anggota tertentu pada tingkat tertentu atau pada jarak yang ditentukan dari anggota. Dengan Analysis Services, set yang dikembalikan akan selalu terdiri dari satu anggota - Analysis Services tidak mendukung beberapa orang tua untuk satu anggota.
Sintaks
Level syntax
Ancestors(Member_Expression, Level_Expression)
Numeric syntax
Ancestors(Member_Expression, Distance)
Argumen
Member_Expression
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan anggota.
Level_Expression
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan tingkat.
Jarak
Ekspresi numerik valid yang menentukan jarak dari anggota yang ditentukan.
Keterangan
Dengan fungsi Ancestors, Anda menyediakan fungsi dengan ekspresi anggota MDX lalu memberikan ekspresi MDX dari tingkat yang merupakan leluhur anggota tersebut atau ekspresi numerik yang mewakili jumlah tingkat di atas anggota tersebut. Dengan informasi ini, fungsi Ancestors mengembalikan set anggota (yang akan menjadi set yang terdiri dari satu anggota) pada tingkat tersebut.
Catatan
Untuk mengembalikan anggota leluhur, bukan set leluhur, gunakan fungsi Leluhur .
Jika ekspresi tingkat ditentukan, fungsi Ancestors mengembalikan set semua leluhur anggota yang ditentukan pada tingkat yang ditentukan. Jika anggota yang ditentukan tidak berada dalam hierarki yang sama dengan tingkat yang ditentukan, fungsi mengembalikan kesalahan.
Jika jarak ditentukan, fungsi Ancestors mengembalikan kumpulan semua anggota yang merupakan jumlah langkah yang ditentukan dalam hierarki yang ditentukan oleh ekspresi anggota. Anggota dapat ditentukan sebagai anggota hierarki atribut, hierarki yang ditentukan pengguna, atau, dalam beberapa kasus, hierarki induk-anak. Sejumlah 1 mengembalikan set anggota di tingkat induk dan sejumlah 2 mengembalikan set anggota di tingkat kakek-nenek (jika ada). Sejumlah 0 mengembalikan set termasuk hanya anggota itu sendiri.
Catatan
Gunakan bentuk fungsi Leluhur ini untuk kasus di mana tingkat induk tidak diketahui atau tidak dapat dinamai.
Contoh
Contoh berikut menggunakan fungsi Leluhur untuk mengembalikan ukuran Jumlah Penjualan Internet untuk anggota, induknya, dan kakek-neneknya. Contoh ini menggunakan ekspresi tingkat untuk menentukan tingkat yang akan dikembalikan. Tingkat berada dalam hierarki yang sama dengan anggota yang ditentukan dalam ekspresi anggota.
SELECT {
Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Category]),
Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Subcategory]),
Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Product])
} ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]
Contoh berikut menggunakan fungsi Leluhur untuk mengembalikan ukuran Jumlah Penjualan Internet untuk anggota, induknya, dan kakek-neneknya. Contoh ini menggunakan ekspresi numerik untuk menentukan tingkat yang dikembalikan. Tingkat berada dalam hierarki yang sama dengan anggota yang ditentukan dalam ekspresi anggota.
SELECT {
Ancestors(
[Product].[Product Categories].[Product].[Mountain-100 Silver, 38],2
),
Ancestors(
[Product].[Product Categories].[Product].[Mountain-100 Silver, 38],1
),
Ancestors(
[Product].[Product Categories].[Product].[Mountain-100 Silver, 38],0
)
} ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]
Contoh berikut menggunakan fungsi Ancestors untuk mengembalikan ukuran Jumlah Penjualan Internet untuk induk anggota hierarki atribut. Contoh ini menggunakan ekspresi numerik untuk menentukan tingkat yang dikembalikan. Karena anggota dalam ekspresi anggota adalah anggota hierarki atribut, induknya adalah tingkat [Semua].
SELECT {
Ancestors(
[Product].[Product].[Mountain-100 Silver, 38],1
)
} ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]