モデル条件
モデル条件は、SELECT
文のMODEL
句でのみ使用できます。
IS ANY条件
IS
ANY
条件は、SELECT
文のmodel_clause
でのみ使用できます。この条件を使用して、ディメンション列のすべての値(NULL
を含む)を修飾します。
is_any_condition::=
この条件は、常にブール値のTRUE
を戻し、列内のすべての値を修飾します。
関連項目:
詳細は、model_clauseおよびモデル式を参照してください。
例
次の例は、2000年の各製品の売上を0(ゼロ)に設定します。
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[ANY, 2000] = 0 ) ORDER BY country, prod, year; COUNTRY PROD YEAR S ---------- ----------------------------------- -------- --------- France Mouse Pad 1998 2509.42 France Mouse Pad 1999 3678.69 France Mouse Pad 2000 0 France Mouse Pad 2001 3269.09 France Standard Mouse 1998 2390.83 France Standard Mouse 1999 2280.45 France Standard Mouse 2000 0 France Standard Mouse 2001 2164.54 Germany Mouse Pad 1998 5827.87 Germany Mouse Pad 1999 8346.44 Germany Mouse Pad 2000 0 Germany Mouse Pad 2001 9535.08 Germany Standard Mouse 1998 7116.11 Germany Standard Mouse 1999 6263.14 Germany Standard Mouse 2000 0 Germany Standard Mouse 2001 6456.13 16 rows selected.
この例では、ビューsales_view_ref
が必要です。このビューを作成する方法は、MODEL句: 例を参照してください。
IS PRESENT条件
is_present_condition::=
IS
PRESENT
条件は、SELECT
文のmodel_clause
でのみ使用できます。この条件を使用すると、model_clause
の実行前に、参照されるセルが存在するかどうかをテストできます。
この条件は、model_clause
の実行前にセルが存在する場合にTRUE
、存在しない場合にFALSE
を戻します。
関連項目:
詳細は、model_clauseおよびモデル式を参照してください。
例
次の例では、1999年のマウス・パッドの売上が存在する場合、2000年のマウス・パッドの売上が1999年のマウス・パッドの売上に設定されます。1999年のマウス・パッドの売上が存在しない場合は、2000年のマウス・パッドの売上は0(ゼロ)に設定されます。
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['Mouse Pad', 2000] = CASE WHEN s['Mouse Pad', 1999] IS PRESENT THEN s['Mouse Pad', 1999] ELSE 0 END ) ORDER BY country, prod, year; COUNTRY PROD YEAR S ---------- ----------------------------------- -------- --------- France Mouse Pad 1998 2509.42 France Mouse Pad 1999 3678.69 France Mouse Pad 2000 3678.69 France Mouse Pad 2001 3269.09 France Standard Mouse 1998 2390.83 France Standard Mouse 1999 2280.45 France Standard Mouse 2000 1274.31 France Standard Mouse 2001 2164.54 Germany Mouse Pad 1998 5827.87 Germany Mouse Pad 1999 8346.44 Germany Mouse Pad 2000 8346.44 Germany Mouse Pad 2001 9535.08 Germany Standard Mouse 1998 7116.11 Germany Standard Mouse 1999 6263.14 Germany Standard Mouse 2000 2637.31 Germany Standard Mouse 2001 6456.13 16 rows selected.
この例では、ビューsales_view_ref
が必要です。このビューを作成する方法は、MODEL句: 例を参照してください。