行が選択されている場合にセルの値を設定するやあ、
行が選択されている場合にセル値を入力するスクリプトを作成しようとしている初心者です。私が念頭に置いているユースケースは次のとおりです。探索的データ分析中に、外れ値であると思われるグラフ内のいくつかのポイントを選択します。生データ (JMP テーブルの一部ではない) を調べるのに役立つ別のスクリプトがあり、その生データを見て、このデータ ポイントに対応する行を分析から除外する必要があると判断しました (つまり、使用した生データその特定の行を生成することはガベージです)。右クリックして [除外] を選択するだけです。現在、私の JMP 分析はすべて、優れた適切なデータ ポイントのみを対象としています。この分析がすべて終わったら、戻って、除外した行を分析したいと思います。たとえば、各行が異なるオペレーターによって収集されたデータを表している場合、1 つのオペレーターが大量のジャンク データを生成している可能性があります。もちろん、ポイント アンド クリック ソリューションを実行して、除外されたすべての行を選択し、新しいサブセット データ テーブルを作成することもできますが、新しい列を追加して (FlagColumn と呼びましょう)、FlagColumn で選択したすべての行を "悪い」、他のすべての行を「良い」にします。私が念頭に置いているのは、次のようなものです。
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);しかし、これは何もしていないようです - if ステートメントで条件を正しく設定する方法を理解していないと思います。また、テーブル内の行数を取得する方法をまだ理解していません (そのため、現時点ではテスト目的で、for ループでインデックス i を 1 から 5 まで実行するように設定しています)。助言がありますか?前もって感謝します!
データ表スクリプティングRe: 行が選択されている場合はセルの値を設定しますコーディングしてインタラクティブに維持したくない場合は、 Rows -> Row Selection -> Name Selection in Column を使用できます。 これにより、選択した行の値と他の行の値 (または欠落している) を持つ列が作成されます。 上記のスクリプト化された行状態オプションで達成されたものと似ています
Re: 行が選択されている場合はセルの値を設定します@jdwatson 、
うーん、私にとって、データの検証は、複数の編集セッションを必要とするタスクになる可能性があります。また、私は不器用かもしれませんが、誤って選択を解除するのはとても簡単です。これは、理解する別の提案です@ティエリー_S提案:
- 要約/計算されたデータの品質が低いと見なされる場合は、右クリックして除外します
- 検証が完了したら、標準分析を実行します
- 新しい列を作成します。Excluded State と呼びます。データ型を作る行の状態、赤い星のアイコンがあります。これで、その列名をクリックして選択できます行状態からコピー以下のスクリーンショットを参照してください。

- 次に、Flag または Excluded という列を作成し、Numeric、Nominal にします。 式を作る除外された()適用ボタンを選択し、式をクリアして、 を押します。 OK . これで、除外された行が 1 になり、他の行が 0 になります。
- 行の状態をクリアして、このフラグ列を計画どおりに使用できるようになりました。ただし、Excluded State 列をすばやくクリックして選択できるという追加の利点があります。行の状態にコピー、良質のデータをさらに分析する必要がある場合。
行の状態の列は、疑わしいデータがある場合や、「どうしようもなく削除されたらどうなるか」という分析の要求がある場合に特に便利です。標準除外と標準 + 追加除外の行状態を保持できます。これは行状態処理の形式であり、インタラクティブでも動的でもありませんが、非常に便利です。
Re: 行が選択されている場合はセルの値を設定しますああ、そうです。これは、スクリプトを作成しなくても、私がやりたかったことと同じことを実現しているようです。ただし、ローカル データ フィルターには行状態の列が表示されないようです。除外された行を含むようにグラフ ウィンドウを構成し、行の状態を使用してフィルター処理する方法はありますか?または、これを言うと、おそらく私の本当の質問は、グラフ/分析を取得する最も簡単な方法は何ですか?それだけ個別のサブセットデータテーブルを作成せずに除外された行?
Re: 行が選択されている場合はセルの値を設定します私は自分の質問に答えたと思います。他の人がこの問題に遭遇した場合に備えて、以下に追加します。
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);Re: 行が選択されている場合はセルの値を設定しますもう一つ、
FlagColumn データ型を「行の状態」に変更し、それを使用して現在の選択状態をキャプチャすることを検討しましたか (列ヘッダーを右クリック > 行の状態のセル > 選択/選択解除?
一番、
TSRe: 行が選択されている場合はセルの値を設定しますやあ、
まず、なぜ「rows = dt << get selected rows」を定義し、後続のスクリプトで使用しないのかが不明です。
2 番目に、はるかに単純な式「選択済み ()」を検討しましたか?選択されている場合は 1 を返し、選択されていない場合は 0 を返します (つまり、FlagColumn 式を「選択済み ()」として設定します)。 すべての数式と同様に、デフォルトで自動的に評価されるため、特定の選択状態を保持するには、数式ダイアログで [評価を抑制] 状態に切り替える必要がある場合があります。 また、選択状態を 1 回だけキャプチャする必要がある場合は、式を追加し、変更を適用して、式を削除すると、式の実行時に選択された内容の安定した記録が保持されます。Re: 行が選択されている場合はセルの値を設定しますmake rowstste Handler を見てください