获取独特物品是什么启发了这个愿望清单请求?
我反复需要从一列或列表中获取唯一项目的列表,并且如果有一个内置的 JMP 函数和/或消息可以使这变得更容易,那就太好了。
您希望看到什么改进?
我的建议有两点:
- 创建一条新消息“<<获取唯一项”,该消息可以传递给数据表列或字符串列框/字符串列编辑框,该消息将返回该对象中唯一值的列表
- 创建一个新的 JSL 函数“Get Unique Items(list)”,对列表执行相同的操作
为什么这个想法很重要?
这主要是为了提高 JSL 代码的编码效率和可读性。目前,从列表中获取唯一项列表的最有效方法是使用
list={"a", "b", "a", "c", "a", "d"};
unique_items=(Associative Array(list) << get keys);
替代方案会更简单,更易读
unique_items = Get Unique Items(list);
类似地,从数据表中获取唯一项列表
// common way to do this now
unique_items=Associative Array(
<COLUMN reference="">
<< get items) << get keys; // proposed shorter and more readable way unique_items =
<COLUMN reference="">
<< get unique items;
</COLUMN>
</COLUMN>
自动化和脚本回复:获取独特物品这将是:
col N unique (column)
另外还可以通过 groupBy 参数获取多个计数器:
Col N 类别 - 以及所有其他类别......
超酷:可以通过范围界定来增强功能
转换列——像汇总统计数据一样舒适吗?
回复:获取独特物品 - 状态更改为:是的,敬请期待!是的,正如@hogi所说,此功能将在 JMP 19 中可用。
col N unique (column)
回复:获取独特物品以及关于
unique_items = Get Unique Items(list);
它也会来吗?
回复:获取独特物品我不知道这是否有帮助,但我是这样操作的:
- 选择要从中获取唯一项目的列
- 行 -> 行选择 -> 选择重复行
- 行 -> 行选择 -> 反转行选择
- 复制
现在,系统剪贴板在该列中有一个唯一的项目列表。专业提示:为项目 #2 和 #3 设置键盘快捷键,只需几秒钟即可获得列表。
回复:获取独特物品好办法!
使用关联数组(如原始帖子中所述)是另一种解决方法。
另一个选择是使用汇总(uniqueEntries=by(mycol)) 。
这些方法都有效。甚至更好:
当你了解它、记住它、告诉你的同事时——你会感到很有成就感!
太有收获了!
但在告诉第 101 位同事这个秘密之后……
你想知道是否有这样的事情:
unique_items = Get Unique Items(list);
column << get Unique Items()
可以让生活变得更轻松。
...也许作为关联数组方法的包装器?
回复:获取独特物品@Sarah-Sylvestre ,您能调整愿望的状态吗?
抱歉,“我的错”。
col N unique (column)
非常有帮助 - 但不是@MathStatChem在他的愿望中所建议的。
回复:获取唯一物品 - 状态更改为:已确认回复:获取独特物品Open( "$SAMPLE_DATA/Big Class Families.jmp" );
show(set unique(:name << get values());
Row() = 1;
Show( Set Unique( :sports ) );

回复:获取独特物品这提供了部分解决方案。不过,我不太喜欢这个函数名。“Set”在 JSL 中主要用于设置值或属性,所以“Set Unique”暗示着正在“设置”某些内容。所有“Set”列表函数(Set Unique、Set Union、Set Difference、Set Intersection)都存在这个问题。我更希望函数名能倒序排列(例如,Unique Set、Union Set、Difference Set、Intersection Set)。
Set Unique() 仍然需要一些额外的 JSL 代码才能实现我想要的功能。对于表格列,你要么选择特定的行(使用索引,要么在函数内部将 << get values 传递给列(Set Unique(:col[a::b]) 或 Set Unique(:col << get values)),对于列框,你仍然需要使用 get 消息。
但它对于 JSL 函数列表来说是一个很好的补充。
回复:获取独特物品同意,当我在脚本索引中找到它时,我想截取屏幕截图并与同事分享所有新的放函数 - 嗯......

可以构建一个自定义函数并通过获取唯一值()调用它...