AVERAGEファンクションは、式の値の平均値を計算するファンクションです。
パラメータ
平均を計算する値の式。
内部動作が若干変更されます。このキーワードは、元のパフォーマンスが非常に遅い場合にのみ指定してください。
結果のディメンションの名前。または、expressionの1つのディメンションと結果のディメンションとする別のディメンションとの間のリレーションの名前。
デフォルトでは、AVERAGEファンクションの戻り値は単一の値になります。結果に対し1つ以上のディメンションを指定すると、AVERAGEは、指定されたディメンションに基づいて値を計算し、値の配列を返します。各ディメンションは、expressionのディメンションであるか、そのディメンションの1つと関連している必要があります。
ヒント: 指定したディメンションがexpressionの実際のディメンションではなくexpressionのディメンションに関連付けられたディメンションであり、かつ2つのディメンション間のリレーションが2つ以上ある場合は、ディメンション間のデフォルトのリレーションを使用して計算が行われます(デフォルトのリレーションの詳細は、 RELATIONコマンド を参照)。(デフォルトのリレーションの詳細は、RELATIONコマンドを参照してください。)Oracle OLAPでこのデフォルトのリレーションを使用しない場合は、リレーションの名前を指定して、関連付けられたディメンションを指定します。 |
使用上の注意
NA値とAVERAGE
AVERAGEは、他の集計ファンクションと同様に、NASKIPオプションの影響を受けます。NASKIPがYES
に設定されている場合(デフォルト)、AVERAGEはNA
値を無視し、NA
値以外の値の平均値を返します。NASKIPがNO
に設定されている場合、AVERAGEは式の値のいずれかがNA
であればNA
を返します。式のすべての値がNA
の場合は、NASKIPの設定にかかわらず、AVERAGEはNA
を返します。
DAY、WEEK、MONTH、QUARTER、YEAR型のディメンションの平均値計算
DAY、WEEK、MONTH、QUARTER、YEAR型のディメンションによってexpressionがディメンション化されている場合は、これらの型のいずれかを持つ他のディメンションを関連ディメンションとして指定できます。Oracle OLAPでは、これら2つのディメンション間の暗黙的なリレーションが使用されます。これらの型のディメンションと別のディメンションとのマッピング(週から月など)を制御するには、2つのディメンション間のリレーションを明示的に定義し、そのリレーションの名前をAVERAGEファンクションのdimension引数として指定します。
関連ディメンションの各期間では、Oracle OLAPによって、ターゲット期間で終了するすべてのソース期間のデータの平均が計算されます。この方法は、どのディメンションがより上位の集計期間を保持しているかにかかわらず、適用されます。2つのディメンションの期間の間でデータを集計または割り当てる方法を制御するには、TCONVERTファンクションを使用します。
例
例7-25 月間売上の平均値の計算
この例では、スポーツウェアの月間平均売上を販売地区別に計算する方法を示します。
LIMIT product TO 'SPORTSWEAR' REPORT W 14 HEADING 'Average Sales' AVERAGE(sales district)
この文によって生成される出力は、次のとおりです。
DISTRICT Average Sales ----------- -------------- Boston 69,150.41 Atlanta 151,192.36 Chicago 95,692.99 Dallas 162,242.89 Denver 88,892.72 Seattle 54,092.32
地域ごとの月間平均売上を調べることもできます。region
ディメンションはdistrict
ディメンションに関連しているので、AVERAGEファンクションの結果のディメンションとしてdistrict
ではなくregion
を指定します。