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 expressão MDX (Multidimensional Expressions) 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 Currentmember pode ser usado para localizar o membro atual de hierarquias no eixo Colunas, Linhas e de fatias:
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 pode ser alterada; esse comportamento é chamado de “auto-exists” e mais detalhes estão disponíveis em Principais conceitos em MDX (MDX). 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 que os cálculos reconheçam o contexto da consulta no qual estão sendo usados. O exemplo a seguir retorna a quantidade de pedidos de cada produto e a porcentagem da quantidade de pedidos por categoria e modelo do cubo Adventure Works. A função CurrentMember identifica o produto cuja quantidade de pedidos 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]}