大家好,
我有一个关于价值排序的问题。 参考附图,如何按升序重新排列月/日。 在这种情况下,日期/月份是不可预测的(例如,它可以在 2 月 03 日,下一个日期是 2 月 10 日,然后是 2 月 18 日,并且列表很长,跨度为 6-12 个月。 我知道我可以手动选择和向上/向下移动。 我怎样才能在脚本中做到这一点。
谢谢你。

您可以为此制定脚本解决方案,但我认为仅将此列转换为有效日期格式会容易得多,这样 JMP 将自动执行正确的值排序。
这是一种创建新列“H_Date2”的方法
dt = Current Data Table();
dt << New Column("H_Date2",formula(Num( If(IsMissing(Word(2, :H_Date)),"01",Word(2, :H_Date)) || Word( 1, :H_Date ) || "2018" )));
dt:H_Date2 << Format("ddMonyyyy","ddMonyyyy");
dt:H_Date2 << Modeling Type("nominal");基本上它正在做的是从“Jan 01”中获取 H_Date 列中的第一个和第二个单词来构造一个“01Jan2018”形式的值。JMP 会自动将此类字符串识别为日期,因此您只需使用 num() 将生成的字符串转换为数字日期时间值。
我注意到您的值“Jan”没有日值。在这种情况下,我只需插入“01”作为日期。如果这不是你想要的处理方式,你可以让它做任何你想做的事情。这一切都在这一点处理:
If(IsMissing(Word(2, :H_Date)),"01",Word(2, :H_Date))
接下来,您需要将其放入可读的日期格式,这就是 Format() 所做的。如果您不想要“ddMonyyyy”,您可以将您喜欢的任何日期格式替换为第一个参数。
最后,我假设您希望建模类型是名义的而不是连续的。这就是最后一行的作用。
您可以通过将值排序属性添加到列 H_Date2 并查看默认排序来验证它是否执行正确的值排序。