モデル式は、SELECT文のmodel_clauseでのみ、さらにモデル・ルールの右側でのみ使用されます。モデル式は、model_clauseで事前定義されたメジャー列のセルに値を戻します。詳細は、「model_clause」を参照してください。
model_expression::=

モデル式でメジャー列を指定する場合、指定する任意の条件と式は単一の値に変換される必要があります。
モデル式で集計ファンクションを指定する場合、ファンクションの引数はmodel_clauseで事前定義したメジャー列です。集計ファンクションは、モデル・ルールの右側でのみ使用できます。
モデル・ルールの右側で分析ファンクションを指定すると、model_clauseに複雑な計算を直接表記することができます。モデル式で分析ファンクションを使用するときには、次の制限事項が適用されます。
分析ファンクションは、UPDATEルールのみで使用できます。
モデル・ルールの左側にFORループまたはORDER BY句が含まれている場合は、モデル・ルールの右側で分析ファンクションを指定できません。
分析ファンクションのOVER句の引数に集計を含めることはできません。
分析ファンクションのOVER句の前の引数にセル参照を含めることはできません。
expr自体がモデル式である場合、ネストしたセル参照と呼ばれます。ネストしたセル参照には、次の制限事項が適用されます。
ネストは1レベルのみ可能です。
ネストしたセル参照は、単一セル参照である必要があります。
model_rules_clauseにAUTOMATIC ORDERが指定されているとき、ネストしたセル参照で使用されるメジャーが静的なままの場合のみ、ネストしたセル参照をモデル・ルールの左側で使用できます。
後述するモデル式は、次に示すSELECT文のmodel_clauseに基づいています。
SELECT country,prod,year,s
  FROM sales_view_ref
  MODEL
    PARTITION BY (country)
    DIMENSION BY (prod, year)
    MEASURES (sale s)
    IGNORE NAV
    UNIQUE DIMENSION
    RULES UPSERT SEQUENTIAL ORDER
    (
      s[prod='Mouse Pad', year=2000] =
        s['Mouse Pad', 1998] + s['Mouse Pad', 1999],
      s['Standard Mouse', 2001] = s['Standard Mouse', 2000]
    )
  ORDER BY country, prod, year;
次のモデル式は、記号表記法を使用して単一セル参照を表しています。この式は、2000年のマウス・パッドの売上を示します。
s[prod='Mouse Pad',year=2000]
次のモデル式は、CVファンクションを使用して、位置表記法を使用する複数セル参照を表しています。この式は、prodディメンション列の現在値の2001年における売上を示します。
s[CV(prod), 2001]
次のモデル式は、集計ファンクションを表しています。この式は、yearディメンション列の現在の値-2からyearディメンション列の現在の値-1までの年のマウス・パッドの売上合計を示します。
SUM(s)['Mouse Pad',year BETWEEN CV()-2 AND CV()-1]