共用方式為


Avg (MDX)

評估集合,並且在集合上的量值或指定量值平均後,傳回集合中資料格的非空值平均。

語法

Avg( Set_Expression [ , Numeric_Expression ] )

引數

  • Set_Expression
    傳回集合的有效多維度運算式 (MDX) 運算式。

  • Numeric_Expression
    有效的數值運算式,這通常是傳回數字之資料格座標的多維度運算式 (MDX) 運算式。

備註

如果指定空的 Tuple 集合或空的集合,Avg 函數會傳回空白值。

Avg 函數會先計算指定集合中資料格的值總和,然後將計算出的總和除以指定集合中的非空資料格計數,計算出指定集合中資料格的非空值平均。

[!附註]

Analysis Services 在計算數字集合中的平均值時會忽略 Null。

如果未指定特定數值運算式 (通常是量值),Avg 函數會計算目前查詢內容中所有量值的平均。如果提供特定量值,Avg 函數會先評估集合上的量值,然後根據指定的量值來計算平均值。

[!附註]

在導出成員陳述式中使用 CurrentMember 函數時,您必須指定數值運算式,因為在這樣的查詢內容中目前座標沒有預設量值。

若要強制納入空白資料格,應用程式必須使用 CoalesceEmpty 函數,或指定可為空白值提供零 (0) 值的有效 Numeric_Expression。如需有關空的資料格的詳細資訊,請參閱 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])

以下範例會計算出 Adventure Works Cube 的 2003 會計年度每月的每一日,傳回 Measures.[Gross Profit Margin] 量值的每日平均。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])

下列範例會計算出 Adventure Works Cube 的 2003 會計年度每半年度的每一日,傳回 Measures.[Gross Profit Margin] 量值的每日平均。

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]

請參閱

參考