DrilldownLevel (MDX)
将某个集的成员深化到该集中所表示的最低级别的下一级,或者深化到该集中所表示的某一任意指定的成员级别的下一级。
语法
Level expression syntax
DrilldownLevel(Set_Expression [ , Level_Expression ] )
Numeric expression syntax
DrilldownLevel(Set_Expression [ , ,Index} ] )
参数
Set_Expression
返回集的有效多维表达式 (MDX)。Level_Expression
返回级别的有效多维表达式 (MDX)。Index
有效的数值表达式,它指定在集中要深化的层次结构编号。
注释
DrilldownLevel 函数根据指定集中包含的成员,返回按层次结构排列的一组子成员。指定集中原始成员的顺序将保持不变,只不过该函数的结果集中包含的所有子成员都位于其父成员下方并紧随其父成员。
如果指定了级别表达式,函数将只检索指定级别的成员的子成员,然后用这些子成员按层次结构顺序构造一个集。如果指定了级别表达式,但在指定集中所表示的指定级别上没有成员,则返回指定集。
如果指定了索引值,此函数将基于从零开始的索引只检索指定集中引用的指定层次结构的下一最低级别成员的子成员,然后用这些子成员按层次结构顺序构造一个集。
如果级别表达式和索引值均未指定,此函数将只检索指定集中引用的第一个维度的下一最低级别成员的子成员,然后用这些子成员按层次结构顺序构造一个集。
示例
下面的示例通过结合使用 DrilldownLevel 函数和 Count 函数,对 Product 维度中的产品数量进行计数。
Count(DrilldownLevel (
[Product].[Product].[Product]))
下面的示例使用数值表达式语法深化第一个层次结构,即 Customer Geography 层次结构。
SELECT DRILLDOWNLEVEL
( {[Customer].[Customer Geography].[Country].&[Canada]} * {[Customer].[Gender].[All Customers]},,0)
ON 0
FROM [Adventure Works]
下面的示例使用数值表达式语法深化第二个层次结构,即 Gender 层次结构。
SELECT DRILLDOWNLEVEL
( {[Customer].[Customer Geography].[Country].&[Canada]} * {[Customer].[Gender].[All Customers]},,1)
ON 0
FROM [Adventure Works]
下面的示例根据用户选择的 State-Province 成员和使用 Aggregate 函数求出的值,返回在上一时间段内销售额下降的分销商的计数。Hierarchize 和 DrilldownLevel 函数用于为 Product 维度中的产品类别返回呈下降趋势的销售额值。DrilldownLevel 函数用于深化 Product 属性层次结构的下一最低级别(原因是未指定级别)。
WITH MEMBER Measures.[Declining Reseller Sales] AS
Count(
Filter(
Existing(Reseller.Reseller.Reseller),
[Measures].[Reseller Sales Amount] < ([Measures].[Reseller Sales Amount],
[Date].Calendar.PrevMember)
)
)
MEMBER [Geography].[State-Province].x AS
Aggregate (
{[Geography].[State-Province].&[WA]&[US],
[Geography].[State-Province].&[OR]&[US] }
)
SELECT NON EMPTY Hierarchize (
AddCalculatedMembers (
{DrilldownLevel ({[Product].[All Products]})}
) )
DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS
FROM [Adventure Works]
WHERE ([Geography].[State-Province].x,
[Date].[Calendar].[Calendar Quarter].&[2003]&[4],
[Measures].[Declining Reseller Sales])