動的サブセット アドイン (フィルター可能なデータ テーブル、更新)アドインをインストールし、メイン メニューから起動します: [テーブル] > [動的サブセット]


目的:
このアドインは、開いているデータ テーブルのフィルター可能なビューである動的サブセットを作成します。これにより、指定した条件を満たす行と列のみを表示できます。
ビデオの例:
使用説明書:
- まずダウンロードしてからアドインを開いて、新しいメニュー項目「動的サブセット」をテーブル メニューにインストールします。
- データテーブルがすでに開いている状態で、メニュー項目 [テーブル] > [動的サブセット] を選択します。 新しいウィンドウが開き、右側の 2 つのアウトライン ボックスを含む、元のテーブルのリンクされたサブセットが表示されます。列フィルターそしてデータフィルター。
- のコラムフィルターアウトライン ボックスを使用すると、動的サブセットに表示する列を選択できます。
- のデータフィルターアウトライン ボックスには JMP データ フィルターが含まれており、データが動的サブセットに表示されるために満たす必要がある基準を指定できます。
- を使用するには、列フィルターをクリックして、動的サブセットで表示したい列を選択します。 打つクリア、または、すべての列の選択を解除して、動的サブセット内の使用可能なすべての列を表示します。
- を使用するには、データフィルターをクリックし、フィルタリングする列を 1 つまたは複数選択し、プラス記号をクリックします。 次に、結果として表示される選択領域で、データが動的サブセットに含まれるために満たす必要がある基準を選択します。 JMP データ フィルターの使用方法の詳細については、このサンプル ビデオ (ローカル データ フィルターの使用)、またはそれについて読んでください。 JMP ドキュメント。
- 選択を行った後は、動的サブセットで通常どおり JMP プラットフォームを使用でき、選択した行と列のみが分析に利用可能になり、使用されます。
- [フィルター] > [ビューをデータ テーブルに保存] の横にある赤い三角形を選択して、ビューを保存します。 これにより、動的サブセットを再作成するために必要な情報を含むスクリプトがデータ テーブルに保存されます。 このビューは、既存の動的サブセット内から適用することも、動的サブセットがまだ開いていない場合はテーブルから直接起動することもできます。
使用上の注意:
- 最初に元のテーブルの列を選択し、次に [アドイン] > [動的サブセット] を選択すると、選択した列がフィルター可能な条件として自動的に追加されます。データフィルターセクション。
- 動的サブセットは元のテーブルのリンクされたサブセットであるため、動的サブセットで行う選択により、元のテーブル内の対応する行が選択されます。
- 動的サブセットはデフォルトでロックされています。 ロックを解除するには、テーブル名の横にある赤い三角形を選択し、「データテーブルをロック」のチェックを外します。

JMP のリンクされたサブセットの場合と同様、多くの新しい列の作成など、動的サブセットで加えた変更は元のテーブルには影響しません。 セル内のデータおよび列プロパティの変更意思元のテーブルに影響を与えます。 どれでも列またはデータ フィルターを調整すると、テーブルが元のテーブルに戻ります。
- あなたテーブルを開いていない状態で [テーブル] > [動的サブセット] を選択すると、次のようになります。テーブルを選択するように求められます。 この場合、元のテーブルはデフォルトで非表示になっていますが、メニュー項目 [ウィンドウ] > [非表示] でテーブルを選択すると表示できます。
このアドインはフィルター可能なデータ テーブルを作成するため、指定した条件を満たす行を見つけることができます。
探索的データ分析公共事業Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)ああ、はい、何が起こっているのかわかるかもしれません。 時間ができたら、仮想マシンを起動して、Windows 上のプロジェクトで仮想マシンが動作するかどうかを確認してみます。 また、データ フィルターのアウトライン ボックスがなくなっているため、Mac 上でも完全に動作していないことがわかります。 不具合について教えていただきありがとうございます!
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@ジュリアンWindows で実行しようとすると、次のエラー メッセージが表示されます
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)こんにちは@スブレル、
知らせてくれてありがとうございます! これを調べたところ、少なくとも Mac では、フィルターで何らかの選択をするまでデータ テーブルが表示されないことが確認できました。 一度実行すると、期待どおりに動作するようです。 それはあなたにとって効果がありますか? なぜこれが起こるのかはまだわかりませんが、次のバージョンで作業するときに調査する必要があります。

Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@ジュリアンご存知かどうかはわかりませんが、このアドインはプロジェクトのコンテキストでは機能しないようです。
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@jthiご回答有難うございます!
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)たくさんのフィードバックをいただきありがとうございます。 @jthi ! 優れた提案。 次のイテレーションに取り組む時間ができたら、これらのいくつかを確実に組み込んでみるつもりです。
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@xxvvcczzコードは For Each を使用しているようですので、少なくとも JMP16 が必要です (addin.def ファイル minJmpVersion=16 にも基づいています)。
@ジュリアンこのアドインはまだ使い始めたばかりですが、JMP への素晴らしい追加機能のようです。 将来のリリースで検討する価値があるかもしれないいくつかの提案が頭に浮かびました。
- これがアドインであるという情報をメニュー項目に追加します。 将来、誰かが私の動的サブセットメニュー項目がどこにあるのか疑問に思ったときに混乱を防ぐことができるかもしれません(たとえば、私はこれを行いました)選択した列の順序付け[列] メニューに追加したとき)
- ウィンドウのツールバーを有効にします。 ツールバーをデータ テーブルに使用されているものと同じにすることができればさらに良いのですが、それが可能かどうかはわかりません (おそらくウィッシュ リストの項目かもしれません)。 これにより、フィルタリングされたデータ テーブルから直接ユーザーのお気に入りの分析を非常に迅速に起動できるようになります (メニューで検索するよりも速くなります)。
- どこかにうまく収まる場合は、元のテーブルの行数を追加します。
私が気づいたいくつかの「問題」:
- 動的テーブルのサイズを変更してからフィルターすると、テーブルが元のサイズに戻ることがあります。 おそらく、これは古いボックスが削除され、新しいボックスが追加されたときにトリガーされます。 (Windows 10 で JMP16 を使用)。
- IsEmpty({}) が 1 ではなく 0 であるため、初期化された selectedColumns の比較が期待どおりに機能しません。 N Items() > 0 は機能するはずです。
- フィルターされたデータで新しいサブセットを作成する場合、元のテーブルに「不要な」選択が発生するため、<< Select Rows(rowsSelected) を使用して選択した行でサブセットを作成することは避けた方がよいと思います (これにより速度が低下します)。 代わりに、Rows(selectedRows) を使用してサブセット化を行うこともできます。 これにより、一部の << Clear Select を削除できる場合もあります。
私も何かできるかもしれないと思っています@スブレル(私が正しく理解していれば) と示唆していますが、それにはかなりの量のスクリプトが必要になり、現在のコードの一部は書き直す必要がある可能性が高くなります。 私の提案は、いくつかのコントロールを追加することです (ただし、この解決策は非常に簡単に混乱を引き起こす可能性があります)。
- ユーザーがテーブルの直接のサブセットの代わりに概要を使用できるようにするチェック ボックス/ラジオ ボックス。 概要テーブルは、選択したフィルター列に基づきます。 これはアウトラインボックスで「非表示」にすることもできますが、現在どのオプションが使用されているかをユーザーに表示する方が良いと思います。
- ユーザーが変更したい値を見つけたら、値を選択できます。 これにより、元のテーブルの同じ行も選択されます (動的サブセット << Get Selected Columns の列がわかります)。 次に、ユーザーはボタンを押すとウィンドウが開き、値を変更できるようになります。
- 値が変更された後、動的サブセットを再実行して更新します。
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)この追加はどのバージョンの JMP と互換性がありますか?
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)こんにちは、セバスチャン
あなたが直面している課題を完全に理解できてうれしいです。 これは興味深いもので、考えれば考えるほど、サマリー テーブルまたはサブセット テーブルを通じてそれを実行する方法があれば便利だと想像できることが増えてきました。 それが可能になるような変更があった場合に備えて、必ず念頭に置いておきます。
ジュリアン
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)こんにちは@ジュリアンあなたのビデオは、私が思い描いていた問題を完璧に説明しています。動的フィルターサブセットテーブル内で修正を適用できることを期待していましたが、あなたが言ったように、それは不可能です。
それにもかかわらず、私は頻繁に依存する素晴らしいツールです。
どうもありがとう
セバスチャン
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)こんにちは@スブレル、
あなたが何を求めているのか、よりよく理解できると思います。 リンクされたサブセットが値を変更して動作する方法のため、それを正確に達成できるとは思いません (要約テーブルで変更された値が元のテーブルのすべての値を変更するようにスクリプトを作成する方法はありません)。 ただし、ここでできることはあると思います。それは、最初に概要テーブルを作成し、次にその上で動的サブセットを使用して異常値を追跡することです。 これは、サンプル データ セットを使用した非常に不自然な例です。変更したい行を追跡するためにこれを実行し、その後、元のテーブルに戻ってそれらの値を変更します。 おそらくこのようなものがあなたの状況にうまくいくでしょうか?
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@ジュリアンFit X by Y は、再コーディングのコンテキストや非常に大きなリスト (100 行を超える) の場合には役に立ちません。 複数の列がすでに選択されているときに、元のテーブルにリンクされているときに選択した列で集計を実行し、結果の集計テーブルに動的フィルターを表示するオプションを設けるのはどうでしょうか? その方法を試しましたが、オプション「ロックデータテーブル」が無効になっているにもかかわらず、結果のテーブルを変更できないようです。
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@スブレル: 私はあなたがそこで何をしようとしているのか理解していると思います、そして、物事を追跡するためにより大きなテーブルがあるとそれがどれほど複雑になるかはわかります。 このアドインをこの種のことを行うように適応させる簡単な方法が思いつかないかどうかはわかりません。 しかし、Fit Y by X やさらには Graph Builder のようなプラットフォームが、2 つのカテゴリ変数の交点で発生する異常レベルを検出するのに役立つのだろうかと疑問に思います。 たとえば、モザイク プロットは固有の交差点をうまく表示しており、適合しないものがある場合は視覚的に明らかです。 たとえば、あなたの例では:

Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@ジュリアン私が念頭に置いているのは、「相対的な」再コーディングに使用できる、ある種の動的な概要フィルタリングです。 たとえば、大きなテーブルがあっても、少数の列のみに興味があるかもしれません。 動的なサブセットを提供する現在のバージョンを使用する場合、これらの列には多くの冗長な用語が含まれる可能性があります。
選択した列の束の一意の用語のみを表示するオプションを使用すると、recode 関数を使用する場合には簡単に実行できない、用語間の関係に注意しながら変更を行うことが容易になります。
アドインを使用してタイプ 1 列とタイプ 2 列を検査するテーブルの例を添付します。 用語が 1 つ間違っています。 動的フィルタリングと組み合わせた要約シナリオでは、エラーを特定して修正することが容易になります。
New Table( "veggies",
Add Rows( 18 ),
New Column( "Column 1",
Character,
"Nominal",
Set Values(
{"a", "b", "c", "d", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q"}
)
),
New Column( "Type 1",
Character,
"Nominal",
Set Selected,
Set Values(
{"tomatoes", "tomatoes", "tomatoes", "apple", "apple", "apple",
"carrots", "carrots", "carrots", "tomatoes", "tomatoes", "tomatoes",
"apple", "apple", "apple", "carrots", "carrots", "carrots"}
)
),
New Column( "type 2",
Character,
"Nominal",
Color Cells( {69, {17}} ),
Set Selected,
Set Values(
{"red", "green", "green", "red", "green", "red", "red", "red", "green",
"red", "green", "green", "red", "green", "red", "red", "blue", "green"}
),
Set Display Width( 55 )
)
)
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@FN : 現時点での書き方では、テーブル内で選択された行がフィルターに付加されたヒストグラムに影響を与えることはできませんが、おそらくその逆を行うことはできるでしょう。
ヒストグラムを表示するには 2 つの方法があると思います。 1 つ目は、表上の概要グラフをオンに切り替えることです。 これを行うには、[フィルター] の横にある赤い三角形を選択し、[概要グラフの切り替え] を選択します。 ここで、フィルターを変更すると、各列のヒストグラムが更新されることがわかります。

もう 1 つのオプションは、フィルターを条件付きにすることです。 これを行うには、[データ フィルター] の横にある赤い三角形を選択し、[条件付き] を選択します。

こうすることで、フィルターを設定すると、残りのフィルターには、前のフィルターで定義されたサブセットに残っている値のみが表示されます。
これがお役に立てば幸いです!
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)@スブレル:そこで想像していることについてもう少し詳しく教えてもらえますか? データの要約を目的としており、それを動的にフィルタリングしたい場合は、「分析」>「表作成」を使用してそれを実行できる場合があります。その後、表作成を設定したら、ローカル データ フィルタを追加します。赤い三角形 > ローカル データ フィルターからアクセスします。 このようにして、表を動的にフィルタリングし、定義したサブセットに基づいて要約統計量が変化することを確認できます。
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)非常に素晴らしい。
動的データフィルターも表示できたら便利でしょうか? 分布は行の選択に応じて変化するはずです。 おそらく、ユーザーが手動でそれらを調整できるボタンがあるでしょうか?
Re: 動的サブセット アドイン (フィルター可能なデータ テーブル、更新)とてもクールなツールです。 特に、「データ テーブルのロック」機能が選択解除されているときに関連する列の内容を認識する必要があるため、これは再コーディングに非常に役立ちます。
そういう条件下では。 (1) 現在のようにサブセットの代わりに要約して動的にフィルタリングする機能、および (2) スクリプト内の変更をキャプチャする機能がある方法もあれば、非常に役立ちます。
Re: フィルタリング可能なデータ テーブルすばらしい! すごい仕事@ジュリアン