プラス (+) 演算子を使用して数値を加算しようとしたときに、その結果に混乱したことはありませんか? おそらく、問題を回避するために Sum() 関数を発見したものの、それがなぜ機能するのか実際には理解できなかったかもしれません。 このブログ投稿では、スクリプトまたは列の数式から必要な結果を取得するのに役立つ、Add() 関数、プラス (+) 演算子、Sum() 関数について説明します。

まずはAdd()関数から始めましょう。 プラス (+) は Add() 関数の記号表現であることをご存知ですか? そうです! つまり、次の 2 つの式はまったく同じです。
1 + 2; //Returns 3
Add( 1, 2 ); //Returns 3
Add() 関数とプラス演算子は値を加算して合計値を計算します。 引数には、数値、行列、または数値のリストを指定できます。
しかし、値の 1 つが数値の欠落 (.) だった場合はどうなるでしょうか? いずれかの引数が欠損値である場合、Add() 関数は欠損値を返します。
前の例では、どちらの式でも結果は 3 でした。 これに基づいて、欠損値が引数の 1 つである場合、3 ではなく欠損値が返されます。
1 + . + 2; //Returns missing
Add( 1, ., 2 ); //Returns missing
では、欠損値を除いた合計値を取得するにはどうすればよいでしょうか? ここで Sum() 関数が登場します。 Sum() 関数は値を加算して合計値を計算しますが、無視する欠損値。
以下は、Sum() 関数の構文です。 引数はカンマで区切られており、欠落していないすべての引数の合計値が計算されることに注意してください。
Sum( 1, ., 2 ); //Returns 3
Sum() が欠落値を返すことはありますか? はい、それは可能です。 Sum() 関数に指定された引数が全て値が欠損している場合、結果も欠損します。 この例では、x と y の値が両方とも欠落しています。
x = y = .;
Sum( x, y ); //Returns missing
また、プラス演算子を使用して引数を指定できると考えてつまずかないでください。
Sum( 1 + . + 2 ); ); //Returns missing
それをすると、 JMPは、これを Add() 関数を使用する 1 つの引数と見なします。 また、引数のいずれかが欠損値である場合、Add() 関数は欠損値を返すことに注意してください。
Sum( Add( 1, ., 2 ) ); //Returns missing
これは本質的にこれと同じです:
Sum( . ); //Returns missing
この例を次のように 2 つの引数を含めるように変更したとします。
Sum( 100, 1 + . + 2 ); //Returns 100
次のように、引数が 100 で欠落しているため、結果は 100 になります。
Sum( 100, . ); //Returns 100
これが、Add()、プラス (+)、および Sum() の使用法を明確にするのに役立つことを願っています。
初めて JMP を使い始めたとき、このトピックで少し混乱したことを覚えています。「新しい数式列」の下にあるデフォルトの追加関数は、値が欠落している場合に欠損値を返すバージョンであるためです。 暗黒時代に戻った私は、JMP がこのようなことを支援しなければならないコミュニティがどれほど素晴らしいものであるか理解していませんでした。 
知らない人のために説明すると、ウェンディ@ウェンディ・マーフリーそしてローズマリー・ルーカスはこう書きました。 JMP スクリプトへのジャンプ本。良い基本的なスターターです。