Сумма (MDX)

Возвращает сумму числового выражения, вычисленного над заданным множеством.

Syntax

  
Sum( Set_Expression [ , Numeric_Expression ] )  

Arguments

Set_Expression
Допустимое многомерное выражение набора выражений.

Numeric_Expression
Допустимое числовое выражение, которое обычно является многомерным выражением (MDX) координат ячеек, возвращающих число.

Remarks

Если задано числовое выражение, заданное числовое выражение вычисляется по всему набору и затем суммируется. Если числовое выражение не указано, указанное множество вычисляется в текущем контексте членов множества и затем суммируется. Если функция SUM применяется к нечисловому выражению, результаты не определёны.

Note

Analysis Services игнорирует нули при вычислении суммы множества чисел.

Примеры

Следующий пример возвращает сумму сумм продаж реселлеров для всех участников иерархии атрибутов Product.Category за календарные годы 2001 и 2002.

WITH MEMBER Measures.x AS SUM  
   ( { [Date].[Calendar Year].&[2001]  
         , [Date].[Calendar Year].&[2002] }  
      , [Measures].[Reseller Sales Amount]  
    )  
SELECT Measures.x ON 0  
,[Product].[Category].Members ON 1  
FROM [Adventure Works]  

Следующий пример возвращает сумму ежемесячных расходов на перевозку по интернет-продажам за июль 2002 года по 20 июля.

WITH MEMBER Measures.x AS SUM   
   (  
      MTD([Date].[Calendar].[Date].[July 20, 2002])  
     , [Measures].[Internet Freight Cost]  
     )  
SELECT Measures.x ON 0  
FROM [Adventure Works]  

В следующем примере используется ключевое слово WITH MEMBER и функция SUM для определения вычисленного элемента в измерении Measures, содержащего сумму показателя Reseller Sales Amount для членов иерархии атрибутов Country в Канаде и США в географическом измерении.

WITH MEMBER Measures.NorthAmerica AS SUM   
      (  
         {[Geography].[Country].&[Canada]  
            , [Geography].[Country].&[United States]}  
       ,[Measures].[Reseller Sales Amount]  
      )  
SELECT {[Measures].[NorthAmerica]} ON 0,  
[Product].[Category].members ON 1  
FROM [Adventure Works]  

Часто функция SUM используется вместе с функцией CURRENTMEMBER или такими функциями, как YTD , которые возвращают множество, изменяющееся в зависимости от текущего элемента иерархии. Например, следующий запрос возвращает сумму показателя Internet Sales Amount для всех дат с начала календарного года до даты, отображаемой на оси строк:

WITH MEMBER MEASURES.YTDSUM AS  
SUM(YTD(), [Measures].[Internet Sales Amount])  
SELECT {[Measures].[Internet Sales Amount], MEASURES.YTDSUM} ON 0,  
[Date].[Calendar].MEMBERS ON 1  
FROM [Adventure Works]