Função CurrentMember (MDX)
Retorna o membro atual ao longo de uma hierarquia especificada durante a iteração.
Sintaxe
Hierarchy_Expression.CurrentMember
Argumentos
Hierarchy_Expression
Uma linguagem MDX válida que retorna uma hierarquia.
Comentários
Durante a iteração de um conjunto de membros de hierarquia, em cada etapa da iteração, o membro que está sendo operado é o membro atual. A função CurrentMember retorna esse membro.
Importante
Quando uma dimensão contém apenas uma única hierarquia visível, a hierarquia pode ser mencionada pelo nome da dimensão ou pelo nome da hierarquia porque o nome da dimensão é resolvido apenas na hierarquia visível. Por exemplo, Measures.CurrentMember
é uma expressão MDX válida porque é resolvida na única hierarquia da dimensão Measures.
Exemplos
A consulta a seguir mostra como o Currentmember pode ser usado para localizar o membro atual de hierarquias no eixo Colunas, Linhas e fatia:
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])
O membro atual é alterado em uma hierarquia usada em um eixo em uma consulta. Portanto, o membro atual em outras hierarquias na mesma dimensão que não são usadas em um eixo também pode mudar; esse comportamento é chamado de "existe automaticamente" e mais detalhes podem ser encontrados em Principais Conceitos no MDX (Analysis Services). Por exemplo, a consulta abaixo mostra como o membro atual na hierarquia Ano Civil da dimensão Data é alterado com o membro atual na hierarquia Calendário, quando este último é exibido no eixo Linhas:
WITH
MEMBER MEASURES.CURRENTYEAR AS [Date].[Calendar Year].CURRENTMEMBER.NAME
SELECT
{MEASURES.CURRENTYEAR} ON 0,
[Date].[Calendar].MEMBERS ON 1
FROM [Adventure Works]
CurrentMember é muito importante para tornar os cálculos cientes do contexto da consulta em que estão sendo usados. O exemplo a seguir retorna a quantidade de pedidos de cada produto e o percentual de quantidades de pedidos por categoria e modelo, do cubo Adventure Works . A função CurrentMember identifica o produto cuja quantidade de pedido deve ser usada durante o cálculo.
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]}