Partilhar via


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.

Observação importanteImportante

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]}

Consulte também

Referência