AVGは、時間ディメンションで計算した値を選択して平均を返します。この関数を使用して、累積平均と移動平均を作成します。
GREGORIANリレーションは、時間ディメンションにグレゴリオ暦を追加します。このリレーションは、会計や非標準の階層での計算に便利です。
戻り値
NUMBER
構文
AVG (value_expr) OVER (window_clause)
window_clause::=
[ { DIMENSION dimension_id | HIERARCHY hierarchy_id } ]
BETWEEN preceding_boundary | following_boundary
[WITHIN { LEVEL
| PARENT
| GREGORIAN {YEAR | QUARTER | MONTH | WEEK}
| ANCESTOR AT { DIMENSION LEVEL dim_level_id
| HIERARCHY LEVEL hier_level_id
}
}
]
preceding_boundary::=
{UNBOUNDED PRECEDING | expression PRECEDING} AND
{ CURRENT MEMBER
| expression {PRECEDING | FOLLOWING}
| UNBOUNDED FOLLOWING
}
following_boundary::=
{CURRENT MEMBER | expression FOLLOWING} AND
{ expression FOLLOWING
| UNBOUNDED FOLLOWING
}
引数
value_expr
計算する値を含むディメンション式。
dimension_id
デフォルト階層を使用して値が計算される時間ディメンション。
hierarchy_id
値が計算される階層。代わりにdimension_idが使用される場合、デフォルト階層が使用されます。
dim_level_id
dimension_idのレベルの名前。
hier_level_id
hierarchy_idのレベルの名前。
boundary
preceding_boundaryおよびfollowing_boundaryは、ディメンションまたは階層で特定されるグループ内の期間の範囲を特定します。
UNBOUNDED: グループの最初の期間で始まるか、最後の期間で終わります。
CURRENT MEMBER: 現在の期間の計算を開始または終了します。
expression
数値は、範囲を開始するまたは終了する、現在の期間から特定の距離にある期間を示します。
WITHIN副句
計算に使用する期間の範囲を指定します。次は、キーワードの説明です。
| 範囲 | 説明 |
|---|---|
LEVEL |
同一レベルのすべての期間を計算します。(デフォルト) |
PARENT |
同じ親を持つ同一レベルの期間を計算します。 |
GREGORIAN YEAR |
同じ年(グレゴリオ暦)の期間を計算します。 |
GREGORIAN QUARTER |
同じ四半期(グレゴリオ暦)の期間を計算します。 |
GREGORIAN MONTH |
同じ月(グレゴリオ暦)の期間を計算します。 |
GREGORIAN WEEK |
同じ週(グレゴリオ暦)の期間を計算します。 |
ANCESTOR |
指定したレベルで、同じ祖先を持つ同一レベルの期間を含めます。 |
例
次の例は、各親の中の累積平均を計算します。データの選択は、2005と2006のカレンダ年の中での四半期の累積平均を示します。
AVG(GLOBAL.UNITS_CUBE.UNITS) OVER (HIERARCHY GLOBAL.TIME.CALENDAR BETWEEN UNBOUNDED PRECEDING AND CURRENT MEMBER WITHIN PARENT)
| 時間 | 親 | ユニット | 平均 |
|---|---|---|---|
| Q1.05 | CY2005 | 143607 | 143607 |
| Q2.05 | CY2005 | 138096 | 140852 |
| Q3.05 | CY2005 | 138953 | 140219 |
| Q4.05 | CY2005 | 145062 | 141430 |
| Q1.06 | CY2006 | 146819 | 146819 |
| Q2.06 | CY2006 | 145233 | 146026 |
| Q3.06 | CY2006 | 143572 | 145208 |
| Q4.06 | CY2006 | 149305 | 146232 |
関連トピック