- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
forループ内のフィルターを変更する
こんにちは、
For ループを使用して、JMP で分析を実行しようとしていますが、この分析では毎回一連の行がフィルター処理されます。私のコードは、以下のスニペットに似ています。問題は、フィルターが各反復で変更されず、フィルターが最初にのみ実装されることです。JMP ヘルプ PDF を読んで解決策を見つけようとしましたが、どれも役に立ちませんでした。
dt = Open(path to the file);
For( i = 1, i <= 10, i++,
df = dt << Data Filter(Invisible, Mode( Show( 1 ), Include( 1 ) ),
Add Filter( Columns( Tester ), Where( Tester = testerNames[i] ) ) );
Some analysis
print the report
);
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
受理された解決策
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: for ループでフィルターを変更する
フィルターを for ループの外に移動し、 << Where を使用してフィルター値を変更します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
df = dt << Data Filter(
Mode(Show(1), Include(1)),
Add Filter(Columns(:Name))
);
names = Associative Array(:name) << get keys;
For(i = 1, i <= 10, i++,
df << (Filter Column(:name) << Where(:name == names[i]));
wait(1);
);
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: for ループでフィルターを変更する
フィルターを for ループの外に移動し、 << Where を使用してフィルター値を変更します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
df = dt << Data Filter(
Mode(Show(1), Include(1)),
Add Filter(Columns(:Name))
);
names = Associative Array(:name) << get keys;
For(i = 1, i <= 10, i++,
df << (Filter Column(:name) << Where(:name == names[i]));
wait(1);
);
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: for ループでフィルターを変更する
@jthiあなたの質問に答えましたが、そもそもそれが最善のアプローチなのだろうかと思います。 データフィルターを仲介として使用する代わりに、行状態関数を直接使用できるように、分析をスクリプト化しています。 このアプローチでは、基準を満たす行を選択して分析を実行します。
私はあなたのアプローチに反対しているわけではありませんが、データ フィルター オブジェクトは主にインタラクティブな分析を目的としています。 スクリプトを使用してデータをフィルター処理する方法はこれだけではありません。
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: for ループでフィルタを変更する
やあ@LoglinearRange8 、
それでも@jthiがあなたの質問に答えました。コードが期待どおりに機能しない理由の 1 つは、データ フィルター ウィンドウを閉じていないためだと思います。 For ループ内に df<
から別のスレッドを調べることもできます@マークベイリーこここれは、スクリプト インデックスからこれをスクリプト化する方法を示しています。
私も同意します@マークベイリー、これはワークフローを自動化する最善の方法ではない可能性があります。 データ分析を実行するためのより良い方法があるかもしれません。
お役に立てれば!、
DS
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。