ANYファンクションは、ブール式のいずれかの値がTRUE
の場合にYES
を返し、式のいずれの値もTRUE
ではない場合にNO
を返すファンクションです。
パラメータ
評価されるブール式。
内部動作が若干変更されます。このキーワードは、元のパフォーマンスが非常に遅い場合にのみ指定してください。
結果のディメンションの名前。または、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