Поделиться через


CurrentMember (многомерные выражения)

Возвращает текущий элемент указанной иерархии во время итерации.

Синтаксис

  
Hierarchy_Expression.CurrentMember  

Аргументы

Hierarchy_Expression
Допустимое многомерное выражение, возвращающее иерархию.

Замечания

Текущим называется элемент, над которым выполняется операция на данном шаге итерации по набору элементов иерархии. Функция CurrentMember возвращает этот элемент.

Внимание

Если измерение содержит единственную видимую иерархию, на нее можно сослаться по имени измерения или по имени иерархии, поскольку имя измерения разрешается в единственную видимую иерархию. Например, многомерное выражение Measures.CurrentMember является допустимым, поскольку измерение 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])

Изменяется текущий элемент иерархии, используемой по оси в запросе. Таким образом, текущий член других иерархий в том же измерении, который не используется на оси, также может измениться; это поведение называется "автоматически существует", и дополнительные сведения можно найти в ключевых понятиях в многомерных выражениях (analysis Services). Например, приведенный ниже запрос показывает, как текущий элемент иерархии «Календарный год» измерения «Дата» изменяется вместе с текущим элементом иерархии «Календарь», когда последняя отображается по оси строк:

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

См. также

Справочник по функции многомерных выражений (многомерные выражения)