根据最小到最大日期时间给顺序“运行”一个值。嗨伙计,
我已经寻找了一种方法来做到这一点,但还没有在网上找到它。
我有几个具有唯一 ID 的运行,在这种情况下,我将使用标签 CAR1 来唯一标识车辆。 如图所示,这辆车将有多个时间戳
车辆时间
CAR1 上午 10:10
CAR1 下午 12:30
CAR1 下午 17:30
我想找到一种方法,能够使用新列 n 像这样按顺序标记每一行。
车辆时间N
CAR1 上午 10:10 1
CAR1 下午 12:30 2
CAR1 下午 17:30 3
有没有一种快速编码的方法。
我希望 JMP 在这里检测到下一个 CAR 的更改,所以如果我有 CAR2 的条目,它有自己的计数器并从 1 开始作为较早的时间戳。
车辆时间N
CAR1 上午 10:10 1
CAR1 下午 12:30 2
CAR1 下午 17:30 3
CAR2 下午 2 点 10 分 1
CAR2 下午 18:30 2
CAR2 晚上 19:30 3
非常感谢任何帮助。
谢谢!
回复:根据最小到最大日期时间给顺序“运行”一个值。你也可以试试:
Col Rank( :PDATETIME, :CAR )
这可能有一些优势(取决于可以和不能假设表中的初始排序顺序)。
回复:根据最小到最大日期时间给顺序“运行”一个值。效果很好,谢谢!

回复:根据最小到最大日期时间给顺序“运行”一个值。公式返回计算的最后一项,显然在计算 If() 函数中的第一项时它没有识别 count 的值。所以解决方法是简单地强制 count 成为公式中评估的最后一项:
If( :CAR != Lag( :CAR ),
count = 1,
count
++);
count;
回复:根据最小到最大日期时间给顺序“运行”一个值。非常感谢您的回复@txnelson
,我浏览了 LAG 和 DIF 函数,现在熟悉它们的作用。 我尝试了您建议的公式,它接近于我要查找的内容,但它将组内的第一个实例和第二个实例都标记为 1,然后开始序列。 有没有办法从 1 开始序列并从那里递增。 这将非常有用,而且我几乎每天都会使用它。

回复:根据最小到最大日期时间给顺序“运行”一个值。这是论坛上的一个常见问题。搜索“序列”会找到其中的许多。 但是,这里有一个简单的公式可以使用
If( :Vehicle != Lag( :Vehicle ),
count = 1,
count
++)