ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

NASKIP2

NASKIP2オプションは、+(プラス)演算子および-(マイナス)演算子を使用した算術演算でのNA値の処理方法を制御します。NAのオペランドがある場合、NASKIP2がYESに設定されていないかぎり、結果はNAです。


関連項目:

$NATRIGGERプロパティ、NASKIPオプションおよびNASPELLオプション

データ型

BOOLEAN

構文

NASKIP2 = YES|NO

パラメータ

YES

+(プラス)演算子および-(マイナス)演算子を使用する算術演算のNA値にゼロが代入されます。NA + NAおよびNA - NAの2つの特別な場合の結果は、どちらもNAです。

NO

(デフォルト)NA値は、+(プラス)演算子および-(マイナス)演算子を使用する算術演算でNA値として処理されます。評価されるオペランドのいずれかがNAである場合、算術演算はNAに評価されます。

使用上の注意

ファンクションの引数における演算子

NASKIP2は、NASKIPから独立しています。NASKIP2は、+(プラス)演算子および-(マイナス)演算子を使用する算術演算にのみ適用されます。NASKIPは、集計ファンクションにのみ適用されます。ただし、集計ファンクションに対するexpression引数に+(プラス)演算子や-(マイナス)演算子が含まれる場合、計算結果はNASKIPとNASKIP2の両方に依存します。例5-71「集計ファンクションの式に負の値が含まれる際のNASKIPとNASKIP2の効果」を参照してください。

NASKIP2の動作

次の4行は、NASKIP2の設定がYESである場合の、NAを含む複雑な式の評価の4段階を示します。

3 * (NA + NA) - 5 * (NA + 3)
   3 * NA     -    5 *  3
     NA       -      15
             -15

例5-71 集計ファンクションの式に負の値が含まれる際のNASKIPとNASKIP2の効果

次の例では、INTEGERディメンションINTDIMによってディメンション化されるINTEGER変数XおよびZに、レポートの2列目と3列目に示す値が格納されています。NASKIPとNASKIP2の設定の組合せ(最初の組合せはデフォルトの設定)ごとに、和X + Zが計算されます。この例は、TOTALファンクションに対するexpression引数に+(プラス)演算子が使用される場合、TOTALファンクションから返される結果がNASKIPとNASKIP2の両方に依存することも示します。

  • NASKIPをYES、NASKIP2をNOに設定

    この例では、NASKIPがYESに設定されるので、TOTALファンクションでNA値が無視されます。NASKIP2がNOに設定されるので、いずれかのオペランドがNAの場合、+(プラス)演算の結果はNAです。

    NASKIP = YES
    NASKIP2 = NO
    COLWIDTH = 5
    REPORT LEFT W 6 DOWN intdim x, z, x + z
    

    これらの文によって生成される出力は次のとおりです。NASKIP2の設定がNOなので、XとZのいずれかがNAの場合、式X + Zの結果はNAです。

    INTDIM   X     Z   x + z
    ------ ----- ----- -----
    1         NA     2    NA
    2          3    NA    NA
    3          7     6    13
    

    次の文は、TOTALファンクションに対するexpression引数に+(プラス)演算子を使用します。

    SHOW TOTAL(x + z)
    

    この文によって生成される出力は、次のとおりです。

    13
    

    次の文は、+(プラス)演算子を使用して、2つのTOTALファンクションから返される結果を加算します。

    SHOW TOTAL(x) + TOTAL(z)
    

    この文によって生成される出力は、次のとおりです。

    18
    
  • NASKIPをYES、NASKIP2をYESに設定

    この例では、NASKIPがYESに設定されるので、TOTALファンクションでNA値が無視されます。NASKIP2がYESに設定されるので、NA値は+(プラス)演算子によって無視されます。

    NASKIP = YES
    NASKIP2 = YES
    REPORT LEFT W 6 DOWN intdim x, z, x + z
    

    これらの文によって生成される出力は次のとおりです。NASKIP2の設定がYESなので、式X + Zが計算される場合、NA値は無視されます。

    INTDIM   X     Z   X + Z
    ------ ----- ----- -----
    1         NA     2     2
    2          3    NA     3
    3          7     6    13
    

    次の文は、TOTALファンクションに対するexpression引数に+(プラス)演算子を使用します。

    SHOW TOTAL(x + z)
    

    この文によって生成される出力は、次のとおりです。

    18
    

    次の文は、+(プラス)演算子を使用して、2つのTOTALファンクションから返される結果を加算します。

    SHOW TOTAL(x) + TOTAL(z)
    

    この文によって生成される出力は、次のとおりです。

    18
    
  • NASKIPをNO、NASKIP2をYESに設定

    この例では、NASKIPがNOに設定されるので、TOTALファンクションで評価された値がNAの場合、TOTALからはNAが返されます。NASKIP2がYESに設定されるので、NA値は+(プラス)演算子によって無視されます。

    NASKIP = NO
    NASKIP2 = YES
    REPORT LEFT W 6 DOWN intdim x, z, x + z
    

    この文によって生成される出力は、次のとおりです。

    INTDIM   X     Z   X + Z
    ------ ----- ----- -----
    1         NA     2     2
    2          3    NA     3
    3          7     6    13
    

    次の文は、TOTALファンクションに対するexpression引数に+(プラス)演算子を使用します。

    SHOW TOTAL(x + z)
    

    この文によって生成される出力は、次のとおりです。

    18
    

    次の文は、+(プラス)演算子を使用して、2つのTOTALファンクションから返される結果を加算します。

    SHOW TOTAL(x) + TOTAL(z)
    

    この文によって生成される出力は、次のとおりです。

    NA
    
  • NASKIPをNO、NASKIPをNOに設定

    この例では、NASKIPが再びNOに設定されるので、TOTALファンクションで評価された値がNAの場合、TOTALからはNAが返されます。NASKIP2もNOに設定されるので、いずれかのオペランドがNAの場合、+(プラス)演算の結果はNAです。

    NASKIP = NO
    NASKIP2 = NO
    REPORT LEFT W 6 DOWN intdim x, z, x + z
    

    この文によって生成される出力は、次のとおりです。

    INTDIM   X     Z   X + Z
    ------ ----- ----- -----
    1         NA     2    NA
    2          3    NA    NA
    3          7     6    13
    

    次の文は、TOTALファンクションに対するexpression引数に+(プラス)演算子を使用します。

    SHOW TOTAL(x + z)
    

    この文によって生成される出力は、次のとおりです。

    NA
    

    次の文は、+(プラス)演算子を使用して、2つのTOTALファンクションから返される結果を加算します。

    SHOW TOTAL(x) + TOTAL(z)
    

    この文によって生成される出力は、次のとおりです。

    NA