ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

TOTAL

TOTALファンクションは、式の値の合計を計算するファンクションです。

戻り値

式のデータ型。INTEGER、LONGINTまたはDECIMALになります。

構文

TOTAL(expression [CACHE] [dimension...])

パラメータ

expression

合計する対象の式。

CACHE

内部動作が若干変更されます。このキーワードは、元のパフォーマンスが非常に遅い場合にのみ指定してください。

dimension

結果のディメンションの名前。または、expressionの1つのディメンションと結果のディメンションとする別のディメンションとの間のリレーションの名前。

デフォルトでは、TOTALは単一の値を返します。結果のディメンションを1つ以上指定した場合、TOTALは、指定されたディメンションに対して値を計算し、値の配列を返します。各ディメンションは、expressionのディメンションであるか、そのディメンションの1つと関連している必要があります。


ヒント:

指定したディメンションがexpressionの実際のディメンションではなくexpressionのディメンションに関連付けられたディメンションであり、かつ2つのディメンション間のリレーションが2つ以上ある場合は、ディメンション間のデフォルトのリレーションを使用して計算が行われます(デフォルトのリレーションの詳細は、 RELATIONコマンド を参照)。(デフォルトのリレーションの詳細は、RELATIONコマンドを参照してください。)Oracle OLAPでこのデフォルトのリレーションを使用しない場合は、リレーションの名前を指定して、関連付けられたディメンションを指定します。

使用上の注意

TOTALでのNA値の処理

TOTALはNASKIPオプションの影響を受けます。NASKIPがYESに設定されている場合(デフォルト)、TOTALはNA値を無視し、非NA値の合計を返します。NASKIPがNOに設定されている場合、計算に含まれる値にNAが1つでもあると、TOTALはNAを返します。計算に含まれるすべてのデータ値がNAの場合には、NASKIPの設定にかかわらず、TOTALはNAを返します。

DWMQYディメンションでの合計

expressionがDAY、WEEK、MONTH、QUARTERまたはYEAR型のディメンションによってディメンション化されている場合、それ以外のDAY、WEEK、MONTH、QUARTERまたはYEARディメンションを関連dimensionとして指定できます。Oracle OLAPでは、ディメンション間の暗黙的なリレーションを使用します。1つのDAY、WEEK、MONTH、QUARTERまたはYEARディメンションと別のディメンションとのマッピング(たとえば週から月)を制御するには、2つのディメンション間に明示的リレーションを定義し、そのリレーションの名前をTOTALファンクションのdimension引数として指定します。

Oracle OLAPは、関連ディメンションの期間ごとに、ターゲット期間に終了するすべてのソース期間のデータを合計します。この方法は、どのディメンションがより上位の集計期間を保持しているかにかかわらず、適用されます。2つの時間ディメンションの期間の間でデータを集計または割り当てる方法を制御するには、TCONVERTファンクションを使用します。

TOTALファンクションの複数リレーション

関連ディメンションによって合計を中断すると、式のディメンション性を変更しているため、Oracle OLAPはこの新しいディメンション性に基づく値を必要とします。そのディメンションの値を保持するリレーションを選択します。

Oracle OLAPは、必要なディメンションの値を保持するリレーションが複数ある場合、最初に定義されたリレーションを使用します。関連ディメンションが必要なディメンションとなるリレーションが存在しない場合、必要なディメンションによってディメンション化されるリレーションを検索します。

たとえば、districtおよびregionの間に次のような2つのリレーションがあるとします。

DEFINE REGION.DISTRICT RELATION REGION <DISTRICT>
LD The region each district belongs to
 
DEFINE DISTRICT.REGION RELATION DISTRICT <REGION>
LD The primary district in each region

アナリティック・ワークスペースに前述の2つのリレーションが存在するときに次のTOTALファンクションを指定した場合、指定したディメンションの値はリレーションregion.districtに格納されているため、Oracle OLAPではデフォルトでこのリレーションが使用されます。

REPORT TOTAL(sales region)

例8-150 すべての月の売上の合計

地区ごとのすべての月のスポーツウェアの合計売上を調べるとします。TOTALファンクションを使用して、売上総額を計算します。各地区の合計を参照するには、結果のディメンションとしてdistrictを指定します。

LIMIT product TO 'Sportswear'
REPORT W 15 HEADING 'Total Sales' TOTAL(sales district)

この文によって生成される出力は、次のとおりです。

DISTRICT         Total Sales
-------------- ---------------
Boston            1,659,609.90
Atlanta           3,628,616.62
Chicago           2,296,631.81
Dallas            3,893,829.30
Denver            2,133,425.29
Seattle           1,298,215.59