将多个列名称直接粘贴到列对话框过滤器中主题:添加内置功能,允许直接从剪贴板粘贴列名称列表到列对话框过滤器中。
今天的解决方法:截至今天,我编写了一个脚本,该脚本获取剪贴板内容(加载了列名称)并将其转换为正则表达式。然后,我将此正则表达式粘贴到过滤器中,并选择“正则表达式”过滤模式。这有效,但有点痛苦。
我在使用“列切换器”时经常使用它,但我认为这可能适用于许多其他需求。
内容组织数据探索和可视化回复:直接在列对话框过滤器中粘贴多个列名 - 状态更改为:已确认你好@达米恩, 谢谢你的建议! 我们已收到您的请求并将予以考虑。
回复:直接在列对话框过滤器中粘贴多个列名对于我个人使用,我使用不带双引号和大括号的名称。
分隔符可以是逗号、空格、制表符或进纸框。
列表源可能来自 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 );
问候,
Damien RAMIS - 恩智浦
回复:直接在列对话框过滤器中粘贴多个列名了解列名列表的来源和您的使用/期望可能会很有用:
- 列表是否为逗号分隔的字符串(假设列名中没有逗号?
- 每个名字都会有双引号吗?
- 列表会用大括号括起来吗?
- 列表来源是来自某个 JMP 表的用户选择还是来自电子邮件或其他外部文档等外部来源?
- 名称是否完美匹配,是否区分大小写?
根据经验,有关范围和用法的更多详细信息有助于 JMP 开发人员确定您的请求的大小和重要性。
回复:在列对话框过滤器中直接粘贴多个列名@damien :仅供参考,在 JMP v18 中实际上有一种方法可以做到这一点,但在 JMP v19 中丢失了: https://community.jmp.com/t5/JMP-Wish-List/Restore-data-grid-behavior-Pasting-onto-column-names-to-rename/idi-p/903084
回复:在列对话框过滤器中直接粘贴多个列名@BHarris ,这个愿望是关于过滤器的,而不是改变列名。
回复:直接在列对话框筛选器中粘贴多个列名JMP19 几乎现已推出:
如果启用“包含术语”选项,并且不启用“匹配所有术语”设置,则列筛选器现在提供了选择任何匹配列所需的逻辑:)
但这项新功能的实用性远不如预期:
大多数情况下,列名会连同换行符一起复制到剪贴板,例如从另一个列列表中复制——所以“粘贴列名”仍然不起作用 

回复:直接在列对话框筛选器中粘贴多个列名目前,用户需要手动将换行符替换为空格。
应该很容易修复:
将剪贴板内容粘贴到列筛选器?-> 自动将换行符替换为空格。
我认为目前没有用户需要这项功能:
保留第一行,删除其他行。