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

Вычисляет набор и возвращает среднее непустых значений ячеек набора; среднее считается по мерам в наборе или по указанной мере.

Синтаксис

  
Avg( Set_Expression [ , Numeric_Expression ] )  

Аргументы

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

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

Замечания

Если указан набор пустых кортежей или пустой набор, функция Avg возвращает пустое значение.

Функция Avg вычисляет среднее значение значений nonempty ячеек в заданном наборе путем вычисления суммы значений между ячейками в указанном наборе, а затем деления вычисляемой суммы на число непустых ячеек в указанном наборе.

Заметка

Службы Analysis Services игнорируют значения NULL при вычислении среднего значения в наборе чисел.

Если определенное числовое выражение (обычно мера) не указано, функция Avg среднее значение каждой меры в текущем контексте запроса. Если указана конкретная мера, функция Avg сначала вычисляет меру по набору, а затем функция вычисляет среднее значение на основе указанной меры.

Заметка

При использовании функции CurrentMember в вычисляемом операторе-члене необходимо указать числовое выражение, так как для текущей координаты в таком контексте запроса не существует меры по умолчанию.

Чтобы принудительно включить пустые ячейки, приложение должно использовать функцию CoalesceEmpty или указать допустимую Numeric_Expression , которая предоставляет значение нуля (0) для пустых значений. Дополнительные сведения о пустых ячейках см. в документации по OLE DB.

Примеры

Следующий пример возвращает среднее значение для меры в указанном наборе. Обратите внимание, что заданная мера может быть либо мерой по умолчанию для элементов указанного набора, либо указанной мерой.

WITH SET [NW Region] AS

{[Geography].[State-Province].[Washington]

, [Geography].[State-Province].[Oregon]

, [Geography].[State-Province].[Idaho]}

MEMBER [Geography].[Geography].[NW Region Avg] AS

AVG ([NW Region]

--Uncomment the line below to get an average by Reseller Gross Profit Margin

--otherwise the average will be by whatever the default measure is in the cube,

--or whatever measure is specified in the query

--, [Measures].[Reseller Gross Profit Margin]

)

SELECT [Date].[Calendar Year].[Calendar Year].Members ON 0

FROM [Adventure Works]

WHERE ([Geography].[Geography].[NW Region Avg])

В следующем примере возвращается ежедневное среднее значение Measures.[Gross Profit Margin] меры, вычисляемое по дням каждого месяца в 2003 финансовом году, из куба Adventure Works . Функция Avg вычисляет среднее значение из набора дней, содержащихся в каждом месяце [Ship Date].[Fiscal Time] иерархии. Первая версия вычислений показывает поведение функции Avg по умолчанию, состоящее в исключении из среднего значения дней, в которые не было зафиксировано ни одной продажи. Вторая версия показывает, как включить в среднее значение дни без продаж.

WITH MEMBER Measures.[Avg Gross Profit Margin] AS

Avg(

Descendants(

[Ship Date].[Fiscal].CurrentMember,

[Ship Date].[Fiscal].[Date]

),

Measures.[Gross Profit Margin]

), format_String='percent'

MEMBER Measures.[Avg Gross Profit Margin Including Empty Days] AS

Avg(

Descendants(

[Ship Date].[Fiscal].CurrentMember,

[Ship Date].[Fiscal].[Date]

),

CoalesceEmpty(Measures.[Gross Profit Margin],0)

), Format_String='percent'

SELECT

{Measures.[Avg Gross Profit Margin],Measures.[Avg Gross Profit Margin Including Empty Days]} ON COLUMNS,

[Ship Date].[Fiscal].[Fiscal Year].Members ON ROWS

FROM

[Adventure Works]

WHERE([Product].[Product Categories].[Product].&[344])

В следующем примере возвращается ежедневное среднее значение Measures.[Gross Profit Margin] меры, вычисляемое в течение дней каждого семестра в 2003 финансовом году, из куба Adventure Works .

WITH MEMBER Measures.[Avg Gross Profit Margin] AS  
   Avg(  
      Descendants(  
         [Ship Date].[Fiscal].CurrentMember,   
            [Ship Date].[Fiscal].[Date]  
      ),   
      Measures.[Gross Profit Margin]  
   )  
SELECT  
   Measures.[Avg Gross Profit Margin] ON COLUMNS,  
      [Ship Date].[Fiscal].[Fiscal Year].[FY 2003].Children ON ROWS  
FROM  
   [Adventure Works]  

См. также

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