計算式の作成は、引数として機能する式から始めるのが最も有効です。これは、関数は優先順序が高く、いつも対応する引数とグループ化されるからです。できるかぎり、優先順位の高いものから低いものの順に式を作成するのがベストです。括弧を使う必要がある場合は、式を入力する前に、開き括弧をまず入力してください。
たとえば、列A、B、CがあるデータテーブルにA(B + C)という式を作成するには、次の手順を行います。この式は、(A x B) + Cと計算されるA x B + Cとは異なることに注意してください。
式を入力するには、以下の手順で操作します。
1. 「列」リストで列「A」をクリックします。
2. 計算式エディタのキーパッドで乗算ボタン()をクリックします。
3. 開き括弧を入力します。
4. 「列」リストで列「B」をクリックします。
5. 計算式エディタのキーパッドで加算ボタン()をクリックします。
6. 「列」リストで列「C」をクリックします。
優先順位はどの引数が関数の影響を受けるかを決定づけるため、式のグループ化にも影響します。優先順位のルールがどのように適用されているかを見るには、計算式の中の関数を選択します。
ほとんどの場合、効率的な計算式の構造を苦労して組み立てる必要はありません。ほとんどの計算式は、どのような構造でも瞬時に計算されます。これは、統計的な関数および定数の式は、列の値が計算される時に一度だけ評価されるためです。
ただし、条件式を作成する場合、Matchを使うとIf条件付き関数を使うよりも評価が速く、また少ないメモリですみます(メモ: Matchは末尾のスペースを無視しますが、Ifは無視しません)。
たとえば、「Big Class.jmp」を使用して、図7.14に示すように、子供の身長を年齢から推測できます。58.125インチという基本の身長に対して、「年齢」の値に従って一定の高さが加えられます。
図7.14 Match条件はIf関数よりも速く計算できる
Match条件はIf関数よりも速く計算できます。「年齢」の変数が、データテーブル内の各行で一度評価されるだけだからです。If条件は、節が真になるまで、各行のif節で年齢の変数を評価する必要があります。