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 |
関連トピック