钻探指定集合中存在于第二个指定集合中的成员。
或者,函数通过使用第一元组层级或可选指定的层级来对一组元组进行深入钻探。
Syntax
DrillDownMember(<Set_Expression1>, <Set_Expression2> [,[<Target_Hierarchy>]] [,[RECURSIVE][,INCLUDE_CALC_MEMBERS]])
Arguments
Set_Expression1
一个有效的多维表达式(MDX)表达式,返回集合。
Set_Expression2
一个有效的多维表达式(MDX)表达式,返回集合。
Target_Hierarchy
一个有效的多维表达式(MDX)表达式,返回一个层级结构。
递归
一个表示集合递归比较的关键词。
Include_Calc_Members
一个关键词,使计算出的成员能够被纳入钻析结果。
Remarks
该函数返回一组按层级排序的子成员,包含第一个集合中指定的成员,这些成员也存在于第二个集合中。 如果第一个集合包含父成员和一个或多个子节点,则不会对父成员进行深入分析。 第一个集合可以具有任意维度,但第二个集合必须包含一个一维集合。 在第一组中,原始成员之间的顺序保持不变,但函数结果集中包含的所有子成员都直接包含在其父成员之下。 该函数通过检索第一个集合中每个成员的子节点来构造结果集,这些成员也存在于第二个集合中。 如果指定递 归 ,函数会递归地将结果集的成员与第二个集合进行比较,获取每个结果集中也存在的子节点,直到在第二个集合中找不到该结果集的成员。
查询 XMLA 属性 MdpropMdxDrillFunctions 可以验证服务器对钻探函数的支持水平;详情请参见支持的XMLA属性(XMLA)。
第一个集合可以包含元组而非成员。 元组钻取是 OLE DB 的扩展,它返回的是一组元组而非成员。
Important
如果成员紧接着是其子孙,则不会被深入调查。 集合中成员的顺序对Drilldown*和Drillup*函数族都很重要。
示例
以下示例深入澳大利亚,澳大利亚是第一组成员,也出现在第二组。
SELECT DrilldownMember
( [Geography].[Geography].Children,
{[Geography].[Geography].[Country].[Australia],
[Geography].[Geography].[State-Province].[New South Wales]}
)
ON 0
FROM [Adventure Works]
以下示例深入澳大利亚,澳大利亚是第一组成员,也出现在第二组。 然而,由于存在递归论元,函数会递归地将结果集的成员(State-Province 层的成员)与第二集合进行递归比较,获取结果集中每个成员(城市层的成员)的子节点,这些成员也存在于第二集合中,直到第二集合中找不到更多结果集成员。
SELECT DrilldownMember
( [Geography].[Geography].Children,
{[Geography].[Geography].[Country].[Australia],
[Geography].[Geography].[State-Province].[New South Wales]}
,RECURSIVE)
ON 0
FROM [Adventure Works]