当另一列中出现相同的项目时,如何在一列中填充连续数字(从1开始)?假设我有两列数据。 第一列是零件 ID,第二列是该零件的测量值。 每个零件都会被测量 N 次,以便零件 ID 列中的行的 ID 在表中出现 N 次,直到出现下一个零件 ID。 我想创建一个新列,其中包含给定零件的测量重复/运行次数。
因此,对于partID列中出现的相同partID,我想用从1开始的连续数字填充Runs列。
因此,如果 A 部分测量了 11 次,则运行列将获取从 1 到 11 的行条目。 接下来 B 部分被测量 9 次,运行列包含行条目 1 到 9,依此类推。
我如何通过 JSL 自动执行此操作?
视窗回复:当另一列中出现相同的项目时,如何在一列中填充连续数字(从 1 开始)?只要partID按照您所说的进行分组,就可以工作。
If(
Row() == 1, 1,
Lag( :partID ) == :partID, Lag( :Runs ) + 1,
1
)
回复:当另一列中出现相同的项目时,如何在一列中填充连续数字(从 1 开始)?@mmarchandTSI解决方案是一个很好的解决方案。但与往常一样,在 JMP 中,有多种方法可以获得解决方案。这是一个替代解决方案
Col Cumulative Sum( 1, :partID )
回复:当另一列中出现相同的项目时,如何在一列中填充连续数字(从 1 开始)?值为 1 的列累积和应适用于当前的 JMP 版本
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values({"A", "A", "A", "A", "B", "B", "C", "C", "C", "D"})
)
);
dt << New Column("Run", Numeric, Ordinal, Formula(
Col Cumulative Sum(1, :Column 1)
));