ブール関数の使用このデモでは、ブール関数と If 関数を見ていきます。スクリプト エディター ウィンドウが表示されます。 繰り返しますが、キーボード ショートカットは Ctrl+T です。または、[ファイル] メニューに移動して、ツールバーを使用することもできます。 新しいスクリプト エディタ ウィンドウを取得するには、さまざまな方法があります。 そして、ログを日誌の前に持ってきます。 Script Editor ウィンドウに戻り、変数 x に値を代入するコードを入力します。 そして、先に進み、それを初期化します。 そして、新しい行で比較を行います。JSL の機能の 1 つは、引数を比較演算子で結合し、JMP にそれらを 1 つの節として扱わせることです。 したがって、less than x less than equal と入力すると、順次ではなく一度に評価されます。JMP がこれらの比較演算子をこのように並べて表示した場合、これらの比較演算子は省略演算子と呼ばれるものだからです。 したがって、その行を実行できます。もちろん、これは真の比較であり、より大きいか等しいかということです。したがって、結果としてブール値が得られます。 おそらく、比較関数の最も一般的な使用法は、If 関数などで特定の条件をテストする場合です。 最初の行を変更して、 を a に置き換えます。つまり、 の値を x に代入します。 次に、2 行目を If ステートメントに完全に置き換えます。 したがって、括弧内の x がカンマ未満の場合、返される結果は制限未満の文字列になります。 したがって、これは単純な if/then ステートメントです。 条件が true と評価された場合、この結果を返します。 条件が false と評価された場合、2 番目の引数は評価されず、欠損値が返されます。 このスクリプト全体を実行します。 繰り返しますが、そのためのキーボード ショートカットは Ctrl+R です。 したがって、x が値を格納している場合、それはより小さいので、この結果が得られます。 しかし、x に割り当てた値を に変更してスクリプト全体を実行すると、その条件が真ではなかったため、欠落している値が得られます。 繰り返しますが、else の結果を得ることができます。 したがって、条件が真でない場合は、欠損値ではなく、この別の結果を返します。 ここで、二重引用符を開き、Over the limit と入力します。 そして、そのスクリプト全体を実行すると、else の結果が得られます。 そのため、If 関数は必要な数の条件と結果を受け取ることができ、すべての条件が false と評価された場合は常にその else の結果を得ることができます。 次の例では、人々の年齢の表を取り、それをエリック・エリクソンの心理的発達段階の 1 つに分類します。 セクションのジャーナルに戻り、[Age Data] をクリックします。 個人がいて、心理的発達のこれらの段階に分類したいと考えています。 もう一度ジャーナルに戻り、Age to Stage Script をクリックします。 ジャーナルからのこの事前に作成されたスクリプトは、新しい列メッセージをデータ テーブル Age に送信します。列のタイトルは Stage になり、データ型が文字になるように指定しています。 次に、列が作成されたら、for each row 関数を使用して、If ステートメントを使用してデータを入力します。 また、JMP が If ステートメントで true 条件に遭遇すると、評価される唯一の他の引数は対応する結果であることを思い出してください。 他の条件は評価されません。 したがって、これらの年齢の比較はすべて真ですが、評価するとすぐに、Yes, is greater than Late Adult の結果を返し、次の行に進みます。反復のコンテキストでこれを行っているからです。 . そのため、各レベルを括弧で囲む必要はありません。 それがより大きいかどうかなどと言うことができます。 1 つ考えていただきたいのは、データを見てみると、この場合、それらはかなり均一に分布しているということです。 しかし、データを見て、上限に多くの観測値がある傾向にあること、または下限に多くの観測値がある傾向があることに気付いた場合、それがビニングを開始したい分布の終わりです。データ テーブルよりも年齢が高い人がたくさんいる場合、多くの行で、データ テーブルはこの 1 つの条件を評価し、この結果を返し、他のすべてを評価するのではなく、反復の次のステップに進みます。 したがって、任意の行 - 繰り返しますが、それが大部分の人が終わった場合は、真の結果が見つかるとすぐに次の反復に進むことで、スクリプトの処理を少し高速化できます。 それでは、スクリプトを実行してみましょう。 If ステートメントを使用して、列が作成され、データが入力されたことがわかります。 ここでお話ししたい他の 2 種類の関数は、論理関数と照会関数です。 そのため、多くの場合、一度に複数の条件をテストする必要があります。 そして、論理的な方法で条件を組み合わせることで、それを実現できます。 論理関数の例としては、AND 関数と OR 関数があります。 したがって、アンパサンド演算子を含む AND 関数は、すべての条件が真であることを保証します。 OR 関数には垂直パイプ演算子があります。 これにより、少なくとも 1 つの条件が true であることが保証されます。 そこで、Age to Stage スクリプトがあるスクリプト ウィンドウを使用して、それをクリアします。 x にはセミコロンの値が割り当てられ、y には別のセミコロンの値が割り当てられると定義します。すべてを 1 行に入力し、再フォーマットによってクリーンアップします。 かっこ内の x より小さい そして、OR のここでの演算子は、その縦棒、縦パイプ、 if x より小さい OR y より大きい それが私の条件です。 そこにコンマを入力します。 これらのいずれかまたは両方が true の場合、条件が満たされた結果を返します。 どちらも真でない場合は、結果を文字列条件不一致として返します。 最後にもう一度セミコロンを入力します。これはベスト プラクティスと見なされますが、スクリプトをセミコロンで終了する必要はありません。 先に進み、右クリックして再フォーマットします。 そのため、すべてを 1 行で入力した後、少しだけクリーンアップします。 したがって、スクリプトを実行すると、これら 2 つの条件の少なくとも 1 つが真であり、最初の結果条件が満たされると期待されます。 そして、それは実際、私がログに記録したものです。 両方の条件が真である必要がある場合は、垂直パイプ演算子をアンパサンドに置き換えます。 この場合、1 つの条件のみが true であり、両方ではありません。 したがって、elseの結果が得られることを期待しています。 そして、それを実行すると、それがログに表示されます。 私が言及した他のタイプの機能は照会機能です。 値の性質をチェックできるようにしたい場合があります。 例として、値が数値なのかリストなのかを知る必要があるかもしれません。 可能な値にはさまざまな種類があります。 場合によっては、変数に間違った種類の値を格納してスクリプトを実行しようとすると、エラーが発生することがあります。 そのため、その変数の値の性質に応じて、スクリプトが何らかの方法で実行される可能性があります。 というわけで、もう一度 Script Editor の内容をクリアします。 最初の行で、xa 行列に代入します。 そこで、代入関数 x を入力してから、角括弧、スペース、コンマを入力します。 それが私の最初の行です。私の2行目のスペースです。 その角かっこを閉じて、セミコロンを入力します。次に、if ステートメントのコンテキストでこれを行います。また、JSL の関数にはこのオートコンプリート機能があることもお見せしたいと思います。 そして、関数の最初の数文字を入力すると。 この場合、照会関数はすべて is の文字 IS で始まります。 次に、Control キーとスペースバーを押します。 このリストを矢印で下に移動して、必要な照会関数を見つけることができます。この場合は Is Matrix を使用し、Enter キーを押してそれを選択すると、JMP が関数を完成させます。 もちろん、まだ括弧を開く必要があります。そこに x を入力し、括弧を閉じます。次に、If ステートメントの閉じ括弧の前にコンマを入力し、同じものを使用します。結果は、条件が満たされた、閉じた二重引用符、コンマ、開いた二重引用符が満たされていない条件です。 矢印をクリックして全員が揃っていることを確認します。右クリックして再フォーマットします。 したがって、この場合、x は行列を格納しています。 したがって、この最初の結果が得られることを期待しており、スクリプトを実行すると、それが得られます。 ただし、x に格納されているものが文字列である場合、スクリプトが別の処理を行うとします。 これはユーザー入力かもしれませんし、データ テーブルまたは他の場所から取得されたものかもしれません。 そこで、matrix という単語を string に変更し、スクリプトを実行します。 もちろん、条件が false と評価されたので、else の結果が得られます。 ここでは、If 関数を使用してデータをビン化するブール関数の例と、If 関数を論理関数および照会関数と組み合わせて使用する例を見てきました。