NASKIP2オプションは、+
(プラス)演算子および-
(マイナス)演算子を使用した算術演算でのNA
値の処理方法を制御します。NA
のオペランドがある場合、NASKIP2がYES
に設定されていないかぎり、結果はNA
です。
パラメータ
+
(プラス)演算子および-
(マイナス)演算子を使用する算術演算のNA
値にゼロが代入されます。NA
+
NA
およびNA
-
NA
の2つの特別な場合の結果は、どちらもNA
です。
(デフォルト)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