新专栏:排名独特你好,
我想创建一个值为 1,2,3 - N 的列来标记另一列中的唯一值。
社区里有好几个类似的帖子
如何根据A列的唯一分组创建一个带有数字的新列
排名唯一
具有多种解决方案。
但到目前为止我还没有找到一个很酷的解决方案。
它应该是
- 动态(对表中的更改做出反应)-> 无表/摘要,无代码标签
- 与列类型无关(至少:字符 + 数字)-> 没有代码标签
- 即使对于未排序的表也能正常工作 -> 无延迟
- 快速 -> 无关联数组
最好:像 (*) 这样的短函数
rank unique(:col1)
或函数的选项 (**)
rank(:col1, << unique(1))
我找到了这个选项
rank(:col1, << tie(mode))
但我没有找到模式产生数字 1, 2,3 ... 氮
我认为人们可以通过使用到达那里秩两次:
New Column( "step1",Formula( Col Rank( :sex, <<TIE></TIE>
但是step2知道有关step1列的一些秘密,用户看不到这些秘密:

什么有效:
New Column( "Rank[sex]",
Formula(
If(row() == 1,summarize(values= by(:sex)));
Contains( values, :sex )
)
);
我仍在搜索 (*) 或 (**),并希望可以在“新公式”列右键单击上下文菜单中找到它。 但是哪里?
数据混合和清理回复:新专栏:排名唯一没有单个 Col 函数可以执行此任务。 您可以使用 Col 函数来完成此操作,但它很可能需要很少的函数,并且比使用 Summarize(或关联数组)慢。为 Ranking Tie 和 Col Rank 函数添加密集排名
回复:新专栏:排名唯一遗憾的是愿望清单条目 - 有这么多好的条目 - 但他们却没有被注意到。
我怎么会错过这个...
-> 我这边的工藤。
回复:新专栏:排名唯一搜索并不是 JMP 社区中最好的,所以我应该在标题中添加更多“关键字”,例如唯一排名。 这是我在工作中时不时遇到的问题,但幸运的是(至少现在还没有......)要么计算速度不是问题,要么我不需要动态公式。
回复:新专栏:排名唯一搜索:感谢您关于使用社区的帖子。
从那时起,我听从了你的建议并始终使用谷歌搜索 - 我什至在浏览器中添加了快捷方式。
过去,一个好的做法是向社区发送帖子,然后打开它并查看右侧“相关帖子”的建议 - 但自从社区布局更新后我再也找不到这个功能了。
Rank unique 的一个很好的应用程序:
在图形生成器中,当我将晶圆放入 X 组放置区域并将变体放入 Y 组放置区域时,如果没有 DOE 并且每个晶圆只有一个变体,我会得到一个非常稀疏的图,其中有很多白色区域。
然后,只需通过悬停标签即可获得 X 组放置区的排名 1、2、3...以及晶圆信息,这很酷。
拥有动态版本并不是真正必要的 - 但如果值在某些表更新后自动调整,我会有更好的感觉 - 这样可以保证不存在旧值。
对于相当长度的数据,关联数组已经变得非常慢。如果不保存你的数据真的很危险......
回复:新栏目:独特排名嗯,跳至 18 处还是一样:

遵循来自Add Counter for Unique Cases in Groups 的@jthi的想法:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "rank_unique (sex) by age",
Formula(
Col Minimum(
Col Rank( If( Row() == Col Min( Row(), :age, :sex ), 1 ), :age ),
:age,
:sex
)
)
)
- 只是每个性别 X 年龄的第一个值
- 生成排名
- 使用 Col Minimum 将值广播到其他行