Avg (MDX)
セットを評価し、セット内のメジャーまたは指定したメジャーに対して平均化された、セット内のセルの空でない値の平均を返します。
構文
Avg( Set_Expression [ , Numeric_Expression ] )
引数
Set_Expression
セットを返す有効な多次元式 (MDX) 式
Numeric_Expression
通常、数値を返すセル座標の多次元式 (MDX) 式である有効な数値式。
解説
空のタプルのセットまたは空のセットが指定されている場合、 Avg 関数は空の値を返します。
Avg 関数は、指定したセット内のセルの空でない値の平均を計算します。まず、指定したセット内のセル全体の値の合計を計算し、計算された合計を、指定したセット内の空でないセルの数で除算します。
Note
Analysis Services は、数値のセットの平均値を計算するときに null 値を無視します。
特定の数値式 (通常はメジャー) が指定されていない場合、 Avg 関数は現在のクエリ コンテキスト内の各メジャーを平均化します。 特定のメジャーが指定されている場合、 Avg 関数は最初にセットに対してメジャーを評価し、次に指定したメジャーに基づいて平均を計算します。
Note
計算されるメンバー ステートメントで CurrentMember 関数を使用する場合は、このようなクエリ コンテキストで現在の座標に既定のメジャーが存在しないため、数値式を指定する必要があります。
空のセルを強制的に含めるには、アプリケーションで CoalesceEmpty 関数を使用するか、空の値に 0 (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])
次の Measures.[Gross Profit Margin]
例では、 Adventure Works キューブから、2003 会計年度の各月の日数にわたって計算されたメジャーの日次平均を返します。
Avg 関数は、階層の各月に含まれる一連の日から平均を[Ship Date].[Fiscal Time]
計算します。 計算の最初のバージョンでは、平均からの売上を記録しなかった日を除いた平均の既定の動作が表示されます。2 番目のバージョンでは、平均に売上のない日数を含める方法が示されます。
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]
例では、 Adventure Works キューブから、2003 会計年度の各学期の日数にわたって計算されたメジャーの日次平均を返します。
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]