DrillupMember (MDX)

返回指定集中不是第二个指定集中成员的后代的成员。

语法

DrillupMember(Set_Expression1, Set_Expression2) 

参数

  • Set_Expression1
    返回集的有效多维表达式 (MDX)。

  • Set_Expression2
    返回集的有效多维表达式 (MDX)。

注释

DrillupMember 函数返回成员集,其中的成员是第一个集中的成员并且是第二个集中成员的后代。第一个集可以具有任何维数,但第二个集必须包含一个一维集。第一个集中的原始成员顺序会被保留。此函数在构造集时仅包括位于第一个集中并且是第二个集中成员的直接后代的那些成员。如果第一个集中某成员的直接祖先不在第二个集中,则第一个集中的该成员包括在此函数返回的集中。第一个集中位于第二个集中某个祖先成员之前的后代,也会包括在内。

第一个集可以包含元组,但不能包含成员。元组的深化是 OLE DB 的扩展,它返回元组集而非成员集。

重要说明重要提示

只有后面紧跟子成员或后代的成员才会被浅化。成员集中成员的顺序对于 Drilldown* 和 Drillup* 系列的函数非常重要。请考虑使用 Hierarchize 函数来正确地对第一个集的成员进行排序。

示例

下面的示例将浅化 United States 成员,这意味着成员 Colorado 不显示在行上:

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 仅浅化第一个集中后面紧跟后代的那些成员,所以,它不浅化下面示例中的 Canada 成员:

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 以便避免此问题以及浅化 Canada 成员。

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]

请参阅

参考