如何在 JMP Live 中顯示動態資料篩選器?我們目前使用自訂 UI 進行本地設置,但現在我們希望在 JMP Live 上進行類似的設置。
我發現 JMP Live 不支援自訂使用者介面。我有哪些方法可以達到相同或類似的效果?
目前使用者介面會篩選並建立特定格式的子集供最終使用者使用。

是否可以透過資料篩選或其他方法在 JMP Live 中實現相同的功能?我用 Big Class.jmp 測試過,但它只是將資料表上傳並顯示在 JMP Live 中,而沒有應用篩選功能。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Data Filter(
Add Filter(columns(:sex, :age))
);
自動化和腳本編寫基礎資料分析與建模回覆:如何在 JMP Live 中顯示動態資料篩選器?這是我們目前在內部(本地)使用的工作流程和使用者介面。
回覆:如何在 JMP Live 中顯示動態資料篩選器?
這是我們目前在內部(本地)使用的工作流程和使用者介面。
回覆:如何在 JMP Live 中顯示動態資料篩選器?您使用的是哪個版本的 JMP Live?我們在 19 版本中新增了編輯報表重新產生腳本的功能,讓您可以比以前更自由地自訂使用者介面。由於我沒有看到您的特定設置,因此無法確定在您與資料篩選器互動時,自訂使用者介面中的所有功能是否都能自動運行。
以下是編輯重新產生腳本的文檔: https://www.jmp.com/support/help/en/19.0/jmplive/jmplive.shtml#2667989
回覆:如何在 JMP Live 中顯示動態資料篩選器?我使用的是最新版的JMP 19。
在我目前的UI中(並非JMP Live),我們使用自訂條件下拉式選單作為篩選器,並使用一些單選按鈕來決定要產生的子集類型。
所以,篩選器(下拉式選單)+ 單選按鈕 = 子集表(簡單來說)
我們擁有的數據超過 5 萬條。
我嘗試使用資料篩選和製表功能,但在 JMP Live 上運行速度非常慢。我想知道還有哪些方法或解決方案可以實現類似的功能。
回覆:如何在 JMP Live 中顯示動態資料篩選器?我們之前也收到過類似的請求。我已經將您的需求添加到我們的內部功能請求中。
很遺憾,目前我能提供的唯一解決方案是,您可以對資料進行邏輯劃分,將報表拆分成多個報表。您可以將這些單獨的報表作為不同的資料視圖進行分組。但這是否可行取決於您的篩選條件的複雜程度。
回覆:如何在 JMP Live 中顯示動態資料篩選器?
由於無法使用單選按鈕,我現在專注於建立單獨的報告,但仍存在一些問題。
我嘗試將資料篩選器與製表功能結合使用,但它僅在兩者都關聯到同一個資料表時才有效。如果篩選器套用於一個表(表 A),而製表結果來自另一個表(表 B),則連結會中斷-本機資料篩選器無法控制第二個表。
在JMP Live中,我想知道是否可以對錶 A 設定本機資料篩選器,然後讓使用者的篩選選擇自動驅動表 B 中顯示的內容。例如:
- 使用者依部門及項目篩選表 A
- 表 B 則顯示所有符合這些選擇的行,並新增了「結果」和「日期」等列。
目前看來,這種方法似乎行不通。 JMP Live 似乎強制使用者使用 Tabulate 函數,這反而使事情變得複雜。如果 JMP 允許資料篩選器直接跨表驅動篩選後的數據,而無需使用 Tabulate 函數,那就簡單多了。
回覆:如何在 JMP Live 中顯示動態資料篩選器?您可以使用虛擬連線將兩個表關聯起來嗎?下面的範例使用了三個已連接的表,客戶資訊透過「客戶 ID」列關聯,電影資訊透過「商品編號」列關聯。製表函數使用所有三個表,並根據客戶人口統計資訊篩選租賃資訊。
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"
)
)
)
);
回覆:如何在 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 );
回覆:如何在 JMP Live 中顯示動態資料篩選器?
在 JMP Live 中刷新資料時,ODBC 是如何運作的?我遇到了“找不到資料來源名稱”和“未指定預設驅動程式”的錯誤,是否需要進行一些配置?而同樣的腳本在本地可以從資料庫取得資料。
刷新資料時,傳回的資料必須始終採用資料表格式才能正常運作。
回覆:如何在 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 在發布過程中自動產生的刷新腳本?
回覆:如何在 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_%;";
回覆:如何在 JMP Live 中顯示動態資料篩選器?如果 JMP Live 伺服器也安裝了相同的 DSN 和驅動程序,那麼查詢中是否需要傳遞任何特定資訊才能獲取該伺服器上的最新資料?
回覆:如何在 JMP Live 中顯示動態資料篩選器?您需要傳遞資料庫名稱、驅動程式、連接埠、伺服器和使用者憑證(作為佔位符)。
以下是一個查詢資料的範例腳本:
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;