回傳指定集合中非第二個指定集合成員後代的成員。
Syntax
DrillupMember(Set_Expression1, Set_Expression2)
論點
Set_Expression1
一個有效的多維表達式(MDX)表達式,能回傳一個集合。
Set_Expression2
一個有效的多維表達式(MDX)表達式,能回傳一個集合。
備註
DrillupMember 函式會回傳一組基於第一組中所指定的成員,且這些成員是第二組成員的後代。 第一組可以有任意維度,但第二組必須包含一個一維的集合。 第一組成員之間保持秩序。 該函數透過僅包含第一組中與第二組成員直接後代的成員來構造該集合。 如果第一集合中某成員的直接祖先不存在於第二集合中,則該集合中的成員會包含在這個函數回傳的集合中。 第一組中在第二組祖先成員之前的後代也被納入。
第一組可以包含元組而非成員。 元組鑽取是 OLE DB 的擴充,回傳的是元組而非成員。
Important
只有當成員緊接著是子女或後代時,才會被正式訓練。 集合中成員的順序對 Drilldown* 與 Drillup* 函數族都很重要。 考慮使用 Hierarchize 函式來適當排序第一組成員。
範例
以下三個例子除了第二組外幾乎相同。 在第一個例子中,第二組是美國(美國)。 因此,科羅拉多州被排除在結果之外。 它是美國(美國)的後裔。
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[United States]}
) ON 0
FROM [Adventure Works]
範例二顯示成員順序的重要性。 由於 DrillupMember 只會針對第一組中緊接後代的成員進行訓練,因此不會針對加拿大成員進行訓練。 加拿大與其後代州之間被美國和科羅拉多州分隔開來。 如果你重新排序使加拿大位於亞伯達正上方,那麼亞伯達和布倫瑞克都會被排除在行集之外。
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]
第三個範例展示了如何使用 Hierarchize 來減輕成員排序的影響,並針對加拿大成員進行訓練。
SELECT DrillUpMember (
Hierarchize
(
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
), {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]