CurrentMember (MDX)
返回遍历过程中指定层次结构的当前成员。
语法
Hierarchy_Expression.CurrentMember
参数
- Hierarchy_Expression
返回层次结构的有效多维表达式 (MDX)。
注释
遍历一组层次结构成员时,在遍历过程的每一步,所操作的成员就是当前成员。CurrentMember 函数返回该成员。
重要提示 |
---|
如果维度只包含一个可见的层次结构,则可以通过此维度的名称或此层次结构的名称引用此层次结构,原因是此维度的名称会解析为它唯一可见的层次结构。例如,Measures.CurrentMember 是一个有效的 MDX 表达式,这是因为它会解析为 Measures 维度中唯一的层次结构。 |
示例
以下查询说明如何使用 Currentmember 来查找列、行和切片轴上层次结构中的当前成员:
WITH MEMBER MEASURES.CURRENTDATE AS
[Date].[Calendar].CURRENTMEMBER.NAME
MEMBER MEASURES.CURRENTPRODUCT AS
[Product].[Product Categories].CURRENTMEMBER.NAME
MEMBER MEASURES.CURRENTMEASURE AS
MEASURES.CURRENTMEMBER.NAME
MEMBER MEASURES.CURRENTCUSTOMER AS
[Customer].[Customer Geography].CURRENTMEMBER.NAME
SELECT
[Product].[Product Categories].[Category].MEMBERS
*
{MEASURES.CURRENTDATE, MEASURES.CURRENTPRODUCT,MEASURES.CURRENTMEASURE, MEASURES.CURRENTCUSTOMER}
ON 0,
[Date].[Calendar].MEMBERS
ON 1
FROM [Adventure Works]
WHERE([Customer].[Customer Geography].[Country].&[Australia])
当前成员在查询中的轴上使用的层次结构上进行更改。因此,同一维度上未在轴上使用的其他层次结构上的当前成员也可以更改;此行为称为“自动共存”,MDX 中的重要概念 (MDX)中提供了更多详细信息。例如,下面的查询说明当 Calendar 层次结构上的当前成员显示在行轴上时,Date 维度的 Calendar Year 层次结构上的当前成员如何随 Calendar 层次结构上的当前成员更改:
WITH MEMBER MEASURES.CURRENTYEAR AS
[Date].[Calendar Year].CURRENTMEMBER.NAME
SELECT
{MEASURES.CURRENTYEAR}
ON 0,
[Date].[Calendar].MEMBERS
ON 1
FROM [Adventure Works]
CurrentMember 对于使计算能够识别正在使用这些计算的查询上下文非常重要。以下示例将从 Adventure Works 多维数据集中返回每个产品的订单数量,以及按类别和型号排列的订单数量百分比。CurrentMember 函数标识要在计算过程中使用其订单数量的产品。
WITH
MEMBER [Measures].[Order Percent by Category] AS
CoalesceEmpty
(
([Product].[Product Categories].CurrentMember,
Measures.[Order Quantity]) /
(
Ancestor
( [Product].[Product Categories].CurrentMember,
[Product].[Product Categories].[Category]
), Measures.[Order Quantity]
), 0
), FORMAT_STRING='Percent'
SELECT
{Measures.[Order Quantity],
[Measures].[Order Percent by Category]} ON COLUMNS,
{[Product].[Product].Members} ON ROWS
FROM [Adventure Works]
WHERE {[Date].[Calendar Year].[Calendar Year].&[2003]}