我剛剛收到一位客戶提出的問題,我發現這個問題值得分享給腳本社群和那些想成為其中一部分的人:)
在任何可以選擇列並將其拖入角色的平台中,您都可以在這些紅色小三角形(熱點)中選擇顯示過濾器,這可以幫助您搜尋您感興趣的列名稱。這是一個非常有用的功能,如果你有更多的變數!
現在,假設您想要在自己的視窗中使用此列過濾器建立一個應用程式。您可以在說明 -> 腳本索引下開啟腳本索引並蒐索“col filter”。 「Filter Col Selector」將在命令結果清單的第一行中非常突出地顯示。嗯,這是一個好的開始。甚至還有一個例子。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Col List Box Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
這會導致這個視窗:

到目前為止一切順利,但是我的過濾器在哪裡???
您應該始終提醒的是像 Show Properties() 這樣的命令,因為它們會在日誌中向您顯示必須套用於該物件(在本例中為 fontobj )的所有選項。
Show Properties(fontobj);
這將創建一堆命令,但是您真正想要的是以下三個命令之一:
Name contains [Action] [Scripting Only]
Name starts with [Action] [Scripting Only]
Name ends with [Action] [Scripting Only]
尋找要在“過濾器列選擇器”上使用的命令的另一種方法是腳本索引,這次不是搜索,而是查看類別列表並選擇“過濾器列選擇器”。然後這些操作將出現在腳本索引視窗的中間。
因此,使用這些命令之一,您將在建立視窗後立即獲得篩選器,並以某種方式將其設定為篩選器列選擇器視窗的預設值:
fontobj << Name Contains (" ");
請注意,您至少需要輸入一個空格,否則過濾器不會出現。這將是結果:

我希望您發現這和我一樣有價值,或者至少它提醒您使用“幫助”或“顯示屬性”() 或“顯示樹結構”() 等命令來查看 JMP 為您提供的內容。
最好的,
馬丁
有效。 我不知道腳本索引對話框。謝謝你的提示。 @danschikore
你好@ankitgssingh - 您在選單中看到的每個資料類型和建模類型選項都有相應的 JSL 訊息。例如你可以使用這樣的東西:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
lb = Filter Col Selector( width( 250 ), <<CONTINUOUS></CONTINUOUS>
其他範例顯示在說明 > 腳本索引對話方塊中。
你好
有沒有辦法在 Filter Col 選擇器中始終只看到分類列?
我們可以透過 JMP 手動完成此操作,但有沒有辦法在 JSL 中對其進行編碼?
這是之前發布的內容的簡單替代方案。
Filter Col Selector 搜尋框嵌套在 IfBox 中。 可以透過啟用 IfBox 來顯示它。 感謝您分享您的解決方案。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>