1 つの列から複数の行の値を置き換えるが正しく機能していませんこんにちは、JMP コミュニティです。
非常に奇妙な問題が 1 つ発生しました。 ここに私のコードがあります:
dt_temp = data table("aaaa");
dt_temp << Summary( Group( :Column1,:Column2), Freq( "None" ), Weight( "None" ),output table name( "summary" ) );
data table("summary") << select where (:N rows >= 2 & !contains(:Column1,"AA") & !contains(:Column1,"BB") );
rows = dt_temp << get selected rows;
dt_temp:Column3[rows] = "";
//Column(dt_temp, "Column3")[rows] = "";
このコードを実行すると、行にも [10, 11, 20, 21] のような値がありますが、column3 の最終結果は異なります。 選択した行の取得の行の代わりに、他の行 (行 1、5、... としましょう) を置き換えます。
この問題を解決するのを手伝ってもらえますか?
スクリプトRe: 1 つの列から複数の行の値を置換すると正しく動作しません。元のデータ テーブルまたはサマリー テーブルの値を置き換えようとしていますか? これは私にとってはうまくいくようです:
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
data table("summary") << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));
rows = dt_temp << Get Selected Rows;
show(dt_temp:name[rows]);
dt_temp:name[rows] = "";
show(dt_temp:name[rows]);Re: 1 つの列から複数の行の値を置換すると正しく動作しません。ジャーモさん、こんにちは。
ご提案ありがとうございますが、私にはうまくいかないようです。
明確にするために、要約テーブルの条件に基づいて元のテーブルの値を置き換えたいと思います。
私はあなたのコードも実行しようとしましたが、結果は次のとおりです。
サマリー テーブルから選択された行:

メイン テーブルから選択された行。 15 行が選択されましたが、各グループの最初の行のみが置き換えられました。

Re: 1 つの列から複数の行の値を置換すると正しく動作しません。どのバージョンの JMP を使用していますか? 私は 15.2.1 を使用していますが、私の例はうまく機能しているようです:

Re: 1 つの列から複数の行の値を置換すると正しく動作しません。私は Jmp Pro 12.2.0、64 ビット バージョンを使用しています。 参照用のログ ファイル:

行番号(-1)を示すログファイルは無効ではありませんが、行を表示すると、そのような行はありません。
Re: 1 つの列から複数の行の値を置換すると正しく動作しません。これに基づいてデータテーブルの添字私がセル値を設定している方法は、JMP13 で利用できるようになった可能性があります。
ループを回避しようとしますが、15 より古いバージョンの JMP にアクセスできないため、これが機能するかどうかもわかりません。
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
dt_summary << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));<BR />
//get rows which should be set to empty
rows = dt_temp << Get Selected Rows;
//get all values in name column
colValues = dt_temp:name << get values;
show(colValues);
//set selected rows in the colValues list to ""
colValues[rows] = "";
show(colValues);
dt_temp:name << Set Values(colValues);