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]