直接在列對話框過濾器中粘貼多個列名話題:添加內置功能,允許直接粘貼列名列表 - 從剪貼板 - 列對話框過濾器。
今天的解決辦法:截至今天,我做了一個腳本,該腳本獲取剪貼板內容 - 加載了列名 - 並將其轉換為正則表達式。 然後,我將此正則表達式粘貼到過濾器中,並選擇“正則表達式”過濾器模式。 這有效,但有點痛苦。
我在使用“列切換器”時經常使用它,但我認為這可能適用於許多其他需求。
用戶界面回复:直接在列對話框過濾器中粘貼多個列名了解列名列表的來源和您的用法/期望可能很有用:
- 列表是逗號分隔的字符串(假設列名中沒有逗號?
- 每個名字都會有雙引號嗎?
- 列表會用大括號括起來嗎?
- 列表源是來自一個 JMP 表的用戶選擇還是一些外部源(如電子郵件或其他外部文檔)?
- 名稱是否完全匹配,區分大小寫?
根據經驗,有關範圍和用途的更多詳細信息可幫助 JMP 開發人員確定請求的大小和重要性。
回复:直接在列對話框過濾器中粘貼多個列名對於我個人的使用,我使用不帶雙引號和大括號的名稱。
分隔符可以是逗號、空格、製表符或進給托架。
列表源可能來自 JMP 或 Excel。
我使用完美匹配。
請在我寫的腳本下面找到(我使用 Python 調用特殊字符替換,因為 JMP 腳本在處理“[”時很痛苦):
輸入 = 窗口緩衝區中的列表
輸出 = 窗口緩衝區中的正則表達式(然後,我將其粘貼到 JMP 的過濾器中並選擇“正則表達式”模式)
//RAMIS - 2021
Names Default To Here( 1 );
//Get clipboard
data = Get Clipboard();
//split list into array
testList_raw = Words( data, " \!t\!n\!r," );
//keep only unique entries
myArray_set = Associative Array( testList_raw );
unique_myArray = myArray_set << Get Keys;
//replace special characters
Python Init();
Python Send( unique_myArray );
Python Submit(
"\[
myList =unique_myArray
myOutput = ','.join(myList)
myOutput = myOutput.replace("[","\\[")
myOutput = myOutput.replace("]","\\]")
myOutput = myOutput.replace(",","|")
]\"
);
Wait( 0 );
//output to window's clipboard
myClipboard = Python Get( myOutput );
Set Clipboard( myClipboard );
問候,
達米安·拉米斯 - 恩智浦