交互式數據表選擇器<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />有沒有辦法將以下數據表列表選擇部分編寫為 jsl 腳本?

截至目前,我已經完成了一個腳本,但一次只能在一個數據表上,是否有一個函數可以調用來製作數據表列表選擇器,如我上面附加的圖片,並且在選擇後,我可以擁有我的當前數據表是否相應更新? 我不太靈活的腳本現在看起來像這樣

我想實現這個目標

任何幫助將不勝感激!
回复:交互式數據表選擇器有沒有人有使用與 PMroz 類似的方法刷新過濾器列選擇器的解決方案? 他的答案幾乎最接近我想要實現的目標,唯一的區別是我使用過濾器列選擇器而不是列列錶框,而且我不知何故無法讓它相應地更新或刷新
回复:交互式數據表選擇器嗨,PMroz,
這對我來說效果很好,我將它集成到我的腳本中,並意識到我錯誤地使用了一個詞,我使用的是過濾器列選擇器而不是列列錶框,我看到你的方法是設置和更新基於所選數據表的表中的新列集,刷新它的部分是當您調用
列列錶框=列錶框(列列表) ;
顯示新更新的表。 所以我嘗試為“過濾器列選擇器”複製它。
1)我修改了你的一些代碼,以便它不會出現在新窗口中並轉到我的原始窗口
2)我將過濾器列選擇器修改為“SelectedIndex”變量並在下面調用它,希望它會更新,但顯然我做錯了。 您是否知道刷新過濾器列選擇器的正確方法,就像您對列列錶框所做的那樣? 我想將您的列列錶框工作方法應用到過濾列選擇器

這是我的過濾器列選擇器的代碼
param = 過濾列選擇器(數據表(selectedIndex),
全部,
寬度(250),
colname = param << 獲取選中();
colStatInfo(colname[1]);
列表 << 無效;
列表<<更新窗口;
列表 << 重播;
),
參數 << 標稱( 0 );
//參數<<名稱包含(“”);
)
回复:交互式數據表選擇器試試這個代碼:
// 使用現有表的列表預加載表組合框
默認表=當前數據表() <<得到名字;
表列表= {} ;
不可表=不可表() ;
為了(我= 1 ,我<=不可表,我++,
一個名字=數據表(我) <<獲取姓名;
表列表[我] =一個名字;
// 對於默認表,加載列列錶框
如果(一個名字==默認表,
默認值=我;
列列表=數據表(我) <<獲取列名(作為字符串) ;
) ;
) ;
西北=新窗戶( “測試” ,
選擇表組合=組合框(表列表,
// 當組合框選擇更改時調用此函數
選定索引=選擇表組合<<被選中;
列列表=數據表(選定索引) <<獲取列名(作為字符串) ;
// columns_listbox << 全部刪除;
列列錶框<<設置項目(列列表) ; ) ,
列列錶框=列錶框(列列表) ;
) ;
回复:交互式數據表選擇器您好,PMroz,我閱讀了演示文稿,現在意識到,如果使用應用程序生成器完成,可以更輕鬆且更具交互性,但此時(腳本中有一千行),可能需要一些時間來重建它在應用程序生成器中。 有沒有辦法讓它在我選擇表並單擊按鈕框時自動刷新列,而不將所有內容移植到應用程序生成器?
回复:交互式數據表選擇器這推介會應用程序生成器應該會有所幫助。除其他事項外,它還展示了在選擇特定表時如何使用列名稱動態填充列錶框。
回复:交互式數據表選擇器抱歉,我應該提供更多詳細信息,你是對的,我在下面的某個地方有一個列列錶框,我想根據我選擇的表自動更新顯示列

您能否詳細說明如何將腳本附加到dtlb? 上面定義,數據表=列錶框( dt 名稱,最大項目數( 1 ))
回复:交互式數據表選擇器我認為答案取決於您如何設計 UI 的其他部分來支持您想要的工作流程。 但我認為你不需要任何遞歸。
例如,如果您還有一個“ColListBox()”來顯示通過上述方法選擇的表的列,則可以將腳本附加到“dtlb”(上面定義),以便(當表選擇為製作或更改)它會自動更新可用列的列表。 同樣,您可以將一個腳本與創建或更新報告窗口的“ColListBox()”聯繫起來(假設您只需要一列進行分析)。
(在沒有看到更多細節的情況下,想要提供更多幫助有點困難)。
回复:交互式數據表選擇器感謝伊恩的幫助,如果您不介意的話,我有一個後續問題。 現在我有辦法獲取所有數據表的列表,為了更新腳本以在新選擇的數據表上運行所有操作,建議通過遞歸調用完全相同的腳本(使用新選擇的數據表) ? 或者是否有一個我不知道的功能可以快速刷新腳本並在我選擇的新數據表上運行它?
回复:交互式數據表選擇器也許是這樣的:
名稱默認到這裡( 1 ) ;
dt 名稱= {} ;
為了( t = 1 , t <=表格() , t ++,
插入( dt 名稱,數據表( t ) <<獲取名稱) ;
) ;
西北=
新窗戶( “測試” ,
面板盒( “選一張桌子” ,
數據表=列錶框( dt 名稱,最大項目數( 1 ))
) ,
按鈕盒( “好的” ,好的腳本)
) ;
OK腳本=
表達式(
西北<<關閉窗口;
數據名稱=數據表<<獲取選擇;
如果( N項(數據名稱) > 0 ,
打印( “選擇的表:” ||數據名稱[ 1 ])
,
打印( “未選擇桌子” )
)
) ;
回覆:互動式資料表選擇器@pmroz您好,您可以再次分享應用程式建立器的演示連結嗎?我有相同的用例,但連結似乎已存檔。
回覆:互動式資料表選擇器給你@Aadit 。這是用 JMP 10 寫的!但應該還是有相關資訊的。