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

前
 
次
 

ANY

ANYファンクションは、ブール式のいずれかの値がTRUEの場合にYESを返し、式のいずれの値もTRUEではない場合にNOを返すファンクションです。

戻り値

BOOLEAN

構文

ANY(boolean-expression [CACHE] [dimension ...] )

パラメータ

boolean-expression

評価されるブール式。

CACHE

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

dimension

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

デフォルトでは、ANYはYES値またはNO値のどちらか1つを返します。結果の1つ以上のディメンションを指定すると、ANYは指定されているディメンションでTRUE値を調べ、値の配列を返します。各ディメンションは、boolean-expressionのディメンションであるか、そのディメンションの1つと関連付けられている必要があります。


ヒント:

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

使用上の注意

ANYでのNASKIPの影響

ANYはNASKIPオプションの影響を受けます。NASKIPの設定がYES(デフォルト)の場合、NAではない式のいずれかの値がTRUEであるときにANYはNA値を無視してYESを返し、いずれの値もTRUEではないときにNOを返します。NASKIPの設定がNOの場合、ANYは式のいずれかの値がNAであればNAを返します。式のすべての値がNAの場合は、NASKIPの設定にかかわらず、ANYはNAを返します。

DAY、WEEK、MONTH、QUARTERまたはYEAR型のデータ

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

Oracle OLAPは、関連ディメンションの期間ごとに、ターゲット期間に終了するすべてのソース期間のデータ値を調べます。この方法は、どのディメンションがより上位の集計期間を保持しているかにかかわらず、適用されます。

例7-14 TRUE値の有無の調査(地区別)

スポーツウェアの売上が$150,000を超える月が最低1回あった地区を探すとします。ANYファンクションを使用して、いずれかの月でブール式(sales GT 150000)がTRUEであるかどうかを判断します。districtでディメンション化された結果を得るために、ANYファンクションの2番目の引数としてdistrictを指定します。

LIMIT product TO 'SPORTSWEAR'
REPORT HEADING 'High Sales' ANY(sales GT 150000, district)

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

DISTRICT       High Sales
-------------- ----------
Boston                 NO
Atlanta               YES
Chicago                NO
Dallas                YES
Denver                 NO
Seattle                NO

例7-15 TRUE値の有無の調査(地域別)

スポーツウェアの売上が$150,000を超える地区が最低1つある月が最低1回あった地域も探すことができます。regionディメンションはdistrictディメンションと関連があるので、ANYの結果のディメンションとして、districtではなくregionを指定できます。

report heading 'High Sales' any(sales gt 150000, region)

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

REGION         High Sales
-------------- ----------
East                  YES
Central               YES
west                   NO