除了使用列公式迭代行之外,还有其他方法吗?我有一个数据集,它是一系列测试运行,全部收集在一个表中。实验是对每个样本从高速到低速进行 6 次扫描,我需要做的是为每个样本分配正确的扫描编号(即从 1 到 6),然后重新启动下一个样本的序列。我可以使用序列或计数函数轻松完成此操作,但是每次扫描中的点数并不总是相同,它在 24-26 左右变化。请参阅下图,了解在开始下一个之前从高速到低速进行一次“扫描”的示例。
我确信这可以通过脚本来完成,但是我在该领域的经验很少。有没有一种使用列公式快速而肮脏的方法?

高级统计建模自动化和脚本编写大规模定制质量和工艺工程回复:是否有使用列公式迭代行的替代方法?Lag() 在这里可能会有所帮助。
将 :Column 1 替换为您的速度列:
If(Row() == 1, curVal = 1);
If(:Column 1 > Lag(:Column 1),
curVal += 1
);
curVal;

回复:是否有使用列公式迭代行的替代方法?感谢您的帮助,这适用于每个样本的每组 6 次运行。 我添加了额外的一行,以便在每 6 次扫描后将计数器恢复为 1,因此下面的公式和代码将分配正确的扫描编号,并将所有数据堆叠在一个表中!
If( Row() == 1, curVal = 1 );
If( :speed > Lag( :speed ),
curVal += 1
);
If( curVal > 6, CurVal = 1 );
curVal;
