OLAP DMLは多次元言語です。したがって、OLAP DMLでは一度の操作が値セット全体に適用されます。これは、概念的には、これらの操作が変数内のすべてのセルの値に適用されると考えられ、一方、物理的には、これらの操作が変数である配列内のすべての要素に適用されると考えられます。したがって、OLAP DMLの代入文(SETまたは=)を使用して、変数のすべての要素に値を代入するための明示的なループをコーディングする必要はありません。かわりに、1つ以上のディメンションを持つオブジェクトに対して文を発行する場合、文はオブジェクトの各ディメンションに対してステータスの値をループ処理し、要求された演算を実行します。
たとえば、3つの値Prod01
、Prod02
およびProd03
を持つprodid
という名前のディメンションがあり、prodidによってディメンション化されるquantity
という名前の変数があるとします。次のコードの抜粋が示すように、Prod01
、Prod02
およびProd03
がステータス内のすべての値である場合、値3
をquantityに代入すると、値3
がquantity内のすべての要素に代入されます。
quantity = 3 REPORT quantity PRODID QUANTITY -------------- ---------- PROD01 3.00 PROD02 3.00 PROD03 3.00
他のOLAP DML文(REPORT、ROWおよびFORなど)も、実行時に、ディメンション化されたオブジェクトの要素のうち、ステータスにあるすべての要素をループ処理します。