for ループで非表示と除外を使用した場所の選択が機能しないコミュニティの皆さん、こんにちは。
for ループを使用して行の除外を更新できるようにしたいのですが、これを使用すると、すべての行が非表示/除外されてしまいます。 助けていただければ幸いです。
// This works
dt << select where( :Flag !="");
dt << hide and exclude;
// This does not work
For( i = 1, i <= N Items( hides ), i++,
dt << select where( hides[i] !="");
dt << hide and exclude;
);
// Neither does this
dt << select where( hides[1] !="");
dt << hide and exclude;
私は JSL に関する正式なトレーニングを受けておらず、プロジェクトを完了しながらほとんどのことをその場で学んでいるので、たくさんの質問をしていることは承知しています。 優れたスクリプトガイドマニュアルがあれば幸いです。 公式のものは持っていますが、まだ不完全なようです。
自動化とスクリプト作成基本的なデータ分析とモデリングデータアクセスデータのブレンディングとクリーンアップデータの探索と視覚化Re: for ループで非表示と除外を使用した場所の選択が機能しない皮には何が含まれていますか?
Re: for ループで非表示と除外を使用した場所の選択が機能しないユーザーが列ダイアログで選択した列のリストが含まれているため、次のようなものになります。
{:Flag, :OZONE}Re: for ループで非表示と除外を使用した場所の選択が機能しないそれらの列に欠けていないすべての行を非表示にして除外しようとしていますか?
Re: for ループで非表示と除外を使用した場所の選択が機能しないはい、確かに。 コードの最初の 2 行を実行すると正常に動作しますが、リスト項目を使用して同じコードを実行すると、データ テーブル全体が非表示になり、除外されます。
Re: for ループで非表示と除外を使用した場所の選択が機能しないHides[i] の周囲に AsColumn() を追加してみてください。
これとは直接関係ありませんが、JMP16+ を使用している場合は、通常、For ではなく For Each を使用することをお勧めします。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"a", "", "a", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"", "b", "b", ""}))
);
cols = {:Column 1, :Column 2};
For Each({cur_col}, cols, // if you have JMP16+ usually better to use For Each than for
dt << Select Where(cur_col != "") << Hide and Exclude(1) << Clear Select
);
Re: for ループで非表示と除外を使用した場所の選択が機能しない「公式」スクリプト ガイド、つまりスクリプト ガイドは [ヘルプ] プルダウン メニューから利用できますか?
スクリプトのコード
For( i = 1, i <= N Items( hides ), i++,
dt << select where( hides[i] !="");
dt << hide and exclude;
);
に変更する必要があります
For( i = 1, i <= N Items( hides ), i++,
dt << select where( As Column( dt, hides[i] ) != "" );
dt << hide and exclude;
);