演算子は、値を変換したり、なんらかの方法で値を別の値と組み合せるための記号です。表2-9「OLAP DML演算子」に、OLAP DML演算子のカテゴリを示します。
表2-9 OLAP DML演算子
カテゴリ | 説明 |
---|---|
算術 |
数式で数値データとともに使用され、数値結果を生成する演算子。一部の算術演算子は、結果を日付または数値のいずれかで返す、日付データと数値データが混在した日付式で使用可能。算術演算子のリストは、「算術演算子」を参照。数式の詳細は、「数式」を参照。 |
比較 |
基本型(数値型、テキスト型、日付型、または、ごくまれにブール型)が同じである2つの値を比較し、 |
論理 |
論理演算を使用して |
代入 |
式の結果をオブジェクトに代入したり、値をOLAP DMLオプションに代入したりするための演算子。代入文の使用の詳細は、SETコマンド、SET1コマンドおよび「代入演算子」を参照。 |
条件 |
条件に基づいて値を選択する |
置換 |
式を評価し、結果の値を置換する |
表2-10「算術演算子」は、OLAP DML算術演算子、それらの演算および優先順位を示しています。優先順位とは、演算子が評価される順序のことです。優先順位が同じ演算子は、左から右に評価されます。数式で複数の演算子を使用する場合、式は算術の標準ルールに従って評価されます。他の数式の後に続く負の数の前にはカンマが必要です。カンマがない場合、マイナス記号は減算演算子として解釈されます。たとえば、intvar,-4
となります。
比較演算子および論理演算子は、算術演算子とほぼ同じ方法で式を作成できます。各演算子には優先順位があり、その順位によって評価の順序が決定されます。カッコで評価の順序を変更しないかぎり、優先順位の等しい演算子は、左から右に評価されます。ただし、真の値が確定した時点で、評価は停止されます。
OLAP DMLの比較演算子および論理演算子(AND
、OR
またはNOT
)は、表2-11「比較演算子および論理演算子」にリストされています。この表は、演算子、演算内容、例、優先順位(演算子が評価される順序)をまとめたものです。優先順位が同じ演算子は、左から右に評価されます。
表2-11 比較演算子および論理演算子
演算子 | 演算 | 例 | 優先順位 |
---|---|---|---|
|
|
|
1 |
|
等しい |
|
2 |
|
等しくない |
|
2 |
|
より大きい |
|
2 |
|
より小さい |
|
2 |
|
以上 |
|
2 |
|
以下 |
|
2 |
|
日付が期間に含まれているかどうか |
|
2 |
|
テキスト値が指定したテキスト・パターンに一致するかどうか |
|
2 |
|
どちらの式も真 |
|
3 |
|
どちらか1つの式が真 |
|
4 |
OLAP DMLでは、他の多くのプログラミング言語と同様、代入演算子として記号=(等号)を使用します。
式では、一時データが作成されます。結果の値は表示できますが、アナリティック・ワークスペースに自動的に格納されて後でセッション中に参照されるということはありません。代入文を使用すると、式の結果を、その式と同じデータ型およびディメンションを持つオブジェクトに格納できます。オブジェクトを更新およびコミットすると、次回のセッションでその値を使用できます。
他のプログラミング言語と同様、OLAP DMLの代入文はソース式の結果と等しい値をターゲット式に設定します。ただし、OLAP DML代入文の処理は他のプログラミング言語における処理と異なる点があります。他の多くのOLAP DML文と同様、値を単一のセルに代入するのではなく、ターゲット式が多次元オブジェクトの場合、Oracle OLAPがターゲット・オブジェクトのセルをループ処理して各セルにソース式の結果を設定します。さらに、式のディメンションがターゲット・オブジェクトのディメンションと異なる場合は、UNRAVELを使用して式の値をターゲット・オブジェクトのセルにコピーできます。