DrillupMember (MDX)
傳回指定集合中不是第二個指定集合中成員子系的成員。
語法
DrillupMember(Set_Expression1, Set_Expression2)
引數
Set_Expression1
傳回集合的有效多維度運算式 (MDX) 運算式。
Set_Expression2
傳回集合的有效多維度運算式 (MDX) 運算式。
備註
DrillupMember 函式會根據第一個集合中指定的成員傳回一組成員,而該成員是第二個集合中成員的子系。 第一個集合可以有任何維度,但第二個集合必須包含一維集合。 順序會保留在第一個集合中的原始成員之間。 函式只會在第一個集合中包含屬於第二個集合中成員的下階成員,藉以建構集合。 如果第一個集合中成員的直接上階不存在於第二個集合中,則第一個集合中的成員會包含在此函式所傳回的集合中。 第一個集合中,在第二個集合中上階成員前面的子系也包含在內。
第一個集合可以包含 Tuple,而不是成員。 Tuple 向下切入是 OLE DB 的延伸模組,並傳回一組 Tuple 而非成員。
重要
只有在成員緊接著子系或子系時,才會向上鑽研。 集合中成員的順序與 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]
範例三顯示使用 階層化 如何減輕成員順序的影響,以及向上切入加拿大成員。
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]