次の方法で共有


Avg (MDX)

更新 : 2006 年 12 月 12 日

セットを評価し、セット内のセルの空でない値の平均値を返します。セット内のメジャーまたは指定されたメジャーに対して平均値が求められます。

構文

Avg( Set_Expression [ , Numeric_Expression ] )

引数

  • Set_Expression
    セットを返す有効な多次元式 (MDX) 式です。
  • Numeric_Expression
    有効な数値式です。通常は、数値を返すセル座標の多次元式 (MDX) 式です。

解説

空の組のセットまたは空のセットを指定した場合、Avg 関数は空の値を返します。

Avg 関数は、指定されたセット内のセルの空でない値の平均を計算するために、まず指定されているセット内のセル値の合計を計算してから、指定されたセット内の空でないセルの数でその合計を除算します。

ms146067.note(ja-jp,SQL.90).gifメモ :
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]
   --, [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 キューブから、2003 会計年度の各月に関して、Measures.[Gross Profit Margin] メジャーの日次平均を計算する例を以下に示します。この Avg 関数は、[Ship Date].[Fiscal Time] 階層の各月に含まれている日のセットから平均を計算します。

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

Adventure Works キューブから、2003 会計年度の各半期に関して、Measures.[Gross Profit Margin] メジャーの日次平均を計算して返す例を以下に示します。

WITH MEMBER Measures.[Avg Gross Profit Margin] AS
   Avg(
      Descendants(
         [Ship Date].[Fiscal].CurrentMember, 
            [Ship Date].[Fiscal].[Day of Month]
      ), 
      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]

参照

関連項目

MDX 関数リファレンス (MDX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

変更内容 :
  • NULL 値があった場合の影響を明記しました。
  • 別の例を追加しました。
  • 不完全な例を修正しました。

2006 年 7 月 17 日

変更内容 :
  • わかりやすくするために構文および引数を更新しました。
  • 更新した例を追加しました。