CurrentMember (MDX)

Během iterace vrací aktuálního člena podél specifikované hierarchie.

Syntax

  
Hierarchy_Expression.CurrentMember  

Arguments

Hierarchy_Expression
Platný výraz Multidimensional Expressions (MDX), který vrací hierarchii.

Remarks

Při iteraci přes sadu členů hierarchie je v každém kroku iterace aktuálním členem člen, na kterém se pracuje. Funkce CurrentMember vrací tohoto člena.

Important

Pokud dimenze obsahuje pouze jednu viditelnou hierarchii, může být hierarchie označována buď jménem dimenze, nebo jménem hierarchie, protože název dimenze je vyřešen na jedinou viditelnou hierarchii. Například Measures.CurrentMember je platný MDX výraz, protože se rozuzlí na jedinou hierarchii v dimenzi Míry.

Examples

Následující dotaz ukazuje, jak lze Currentmember použít k nalezení aktuálního člena z hierarchií na ose Columns, Rows a slice (Columns), Rows a slice:

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

Aktuální člen se mění na hierarchii používané na ose v dotazu. Proto se může změnit i aktuální člen na jiných hierarchiích ve stejné dimenzi, které nejsou použity na ose; toto chování se nazývá 'auto-exists' a více podrobností lze nalézt v sekci Key Concepts in MDX (Analysis Services). Například dotaz níže ukazuje, jak se aktuální člen v kalendářní hierarchii dimenze Datum mění spolu s aktuálním členem v hierarchii Kalendáře, když je ten zobrazen na ose Řádky:

WITH
  MEMBER MEASURES.CURRENTYEAR AS [Date].[Calendar Year].CURRENTMEMBER.NAME
SELECT
 {MEASURES.CURRENTYEAR} ON 0,
 [Date].[Calendar].MEMBERS ON 1  
FROM [Adventure Works]

CurrentMember je velmi důležitý pro to, aby výpočty byly povědomy o kontextu dotazu, ve kterém se používají. Následující příklad vrací množství objednávek každého produktu a procento objednávek podle kategorií a modelů z krychle Adventure Works . Funkce CurrentMember identifikuje součin, jehož objednávkové množství má být použito při výpočtu.

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