JMP Live で動的データ フィルターを表示するにはどうすればよいでしょうか?現在、ローカル セットアップにはカスタム UI を使用していますが、JMP Live でも同様のセットアップを行いたいと考えています。
JMP LiveはカスタムUIでは動作しないことに気づきました。同じ、あるいは同様の結果を得るにはどのような方法がありますか?
現在の UI は、エンド ユーザー向けに特定の形式でサブセットをフィルタリングおよび作成します。

データフィルターなどの方法を使って、JMP Liveで同じ機能を実現することは可能ですか?Big Class.jmpでテストしてみましたが、フィルターは適用されず、JMP Liveにデータテーブルがアップロードされて表示されるだけでした。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Data Filter(
Add Filter(columns(:sex, :age))
);
自動化とスクリプト基本的なデータ分析とモデリングRe: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?これは、社内(ローカル)で現在使用しているワークフローと UI です。
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?
これは、社内(ローカル)で現在使用しているワークフローと UI です。
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?JMP Liveのどのバージョンをお使いですか? 19ではレポート再生成スクリプトを編集できるようになり、以前よりもUIをカスタマイズできるようになりました。実際に確認していないため、データフィルターを操作した際にカスタムUIのすべてが自動的に動作するかどうかはわかりません。
再生成スクリプトの編集に関するドキュメントは次のとおりです: https://www.jmp.com/support/help/en/19.0/jmplive/jmplive.shtml#2667989
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?最新のJMP 19を使用しています。
JMP Liveにはない現在のUIでは、フィルターとしてカスタム条件付きドロップダウンを使用しており、生成するサブセットの種類を決定するためのラジオボタンもいくつかあります。
つまり、フィルター(ドロップダウン)+ラジオボタン = サブセットテーブル(簡単に言うと)
私たちが保有するデータは 50,000 件以上あります。
Tabulateでデータフィルターを試してみたのですが、JMP Liveで非常に遅くなってしまいます。同様の結果を得るには、他にどのようなアプローチや解決策を試せば良いでしょうか?
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?過去にも同様のご要望をいただいております。お客様のご要望を反映し、社内の機能リクエストを更新いたしました。
残念ながら、現時点で考えられる唯一の解決策は、データを論理的に分離し、レポートを複数のレポートに分割することです。グループ化のために、各レポートをデータの異なるビューとして使用できます。ただし、フィルターの複雑さによっては、実現可能かどうかはわかりません。
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?
ラジオ ボタンは使用できないため、現在は個別のレポートを作成することに重点を置いていますが、まだ問題があります。
データフィルターを表形式にしてみましたが、両方が同じデータテーブルに関連付けられている場合にのみ機能します。フィルターを一方のテーブル(テーブルA)に適用し、表形式を別のテーブル(テーブルB)から作成すると、リンクが切れてしまいます。つまり、ローカルデータフィルターは2番目のテーブルを制御しないのです。
JMPライブでは、テーブル A にローカル データ フィルターを設定し、ユーザーのフィルター選択によってテーブル B から表示される内容を自動的に制御できるかどうかを知りたいです。例:
- ユーザーはテーブルAを部門とプロジェクトでフィルタリングします
- 表Bには、選択に一致するすべての行が表示され、結果や日付などの追加の列も表示されます。
今のところ、これはうまく機能していないようです。JMP LiveはTabulateの使用を強制しているように感じられ、それが状況を複雑にしています。JMPでデータフィルターがTabulateを使わずにフィルタリングされたデータを直接テーブルに取り込めるようになれば、もっとシンプルになるでしょう。
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?仮想結合を使用して2つのテーブルをリンクできますか?以下の例では、3つのテーブルを結合し、顧客情報は「顧客ID」列で、映画情報は「商品番号」列でリンクしています。Tabulateは3つのテーブルすべてを使用し、顧客の属性に基づいたフィルターを使用してレンタル情報を集計します。
NamesDefaultToHere(1);
dt_customers = Open( "$SAMPLE_DATA/Movie Customers.jmp", Invisible );
dt_inventory = Open( "$SAMPLE_DATA/Movie Inventory.jmp", Invisible );
dt_rentals = Open( "$SAMPLE_DATA/Movie Rentals.jmp" );
dt_rentals << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Grouping Columns(
:"Rating[Item Number]"n
)
),
Row Table(
Grouping Columns(
:"Genre[Item Number]"n
)
)
),
Local Data Filter(
Mode( Show( 0 ) ),
Add Filter(
columns(
:"Gender[Customer ID]"n
),
Where(
:"Gender[Customer ID]"n == "F"
)
)
)
);
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?@danschikoreのソリューションは JMP Live でも機能します。
JMP Live でスクリプトを使用してデータを更新する場合は、スクリプトに仮想結合列のプロパティを含めるようにしてください。
映画レンタルのデータ スクリプトの例は次のとおりです。
:"Customer ID" << Set Property( "Link Reference", Reference Table("Movie Customers.jmp") );
:"Item Number" << Set Property( "Link Reference", Reference Table("Movie Inventory.jmp") );
映画の中のお客様:
:"Customer ID" << Set Property( "Link ID", 1 );
映画の中の目録:
:"Item Number" << Set Property( "Link ID", 1 );
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?
JMP Liveでデータを更新するために、ODBCはどのように機能するのでしょうか? 「データソース名が見つかりません。また、デフォルトのドライバーが指定されていません」というエラーが発生するので、何か設定が必要ですか?同じスクリプトをローカルで実行し、データベースからデータを取得することで動作します。
また、更新データの場合、返されるデータは必ずデータ テーブル形式である必要があります。
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?こんにちは、
コメントありがとうございます。
データを JMP Live に公開した後、JMP Live がデータ テーブル用に自動生成するスクリプトのことですか?

また、データ更新のために接続を作成したり接続をテストしたりするための DSN なしクエリのサンプル コードはありますか?
ローカル JMP の場合と同様に、次のように直接クエリを実行します。
::DB_CONNECTION_STRING = "DSN=testConnection";
dt_results = Open Database(
DB_CONNECTION_STRING ,
"SELECT
*
FROM TestTable
WHERE key IS NOT NULL",
"Test Table"
);
DSN レス接続文字列には具体的に何を含める必要があるのでしょうか?
それとも、JMP Live が公開時に作成する自動生成された更新スクリプトに頼るべきでしょうか?
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?Open Database(
"DSN=testConnection;",
"SELECT
*
FROM TestTable
WHERE key IS NOT NULL",
"Test Table"
);
これはソースが生成するサンプル スクリプトです。
上記のスクリプトを利用し、代わりに変数を使用する場合、資格情報を渡すための正しい形式は次のようになりますか? それとも、他に何か追加する必要があるのでしょうか?
::DB_CONNECTION_STRING =
"DSN=testDSN;" || // same name as DSN in the credentials
"UID=%_UID_%;" ||
"PWD=%_PWD_%;";
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?JMP Live サーバーにも同じ DSN とドライバーがインストールされている場合、最新のデータを取得するためにクエリで渡す必要がある特別なものはありますか?
Re: JMP Live で動的なデータ フィルターを表示するにはどうすればいいですか?DB 名、ドライバー、ポート、サーバー、およびユーザー資格情報 (プレースホルダーとして) を渡す必要があります。
データをクエリするスクリプトの例を次に示します。
dt = New SQL Query(
Connection(
"ODBC:DATABASE=placeholder;
DRIVER={placeholder};
PORT=placeholder;
PWD=%_PWD_%;
SERVER=placeholder;
UID=%_UID_%;"
),
QueryName( "placeholder" ),
Select,
From( Table( "placeholder", Schema( "placeholder" ) ) )
) << Run Foreground;
dt;