你好,
我正在尝试根据其他三列中的匹配条件来增量计算数据集中的行数。本质上,如果 A、B 和 C 列中的行匹配,则 D 列 = 1;当 C 列更改(深度)但 A 列和 B 列保持不变时,D 列 = 2。当 A 列(站点 ID)或B(年份)更改时,我需要从 1 重新开始计数。我已经通过以下公式得到了到目前为止:
Col Cumulative Sum( 1, :Site Code, :Year, :Depth )
这给了我以下内容:

这很接近,但我需要 D 列(示例 #)看起来像这样

如果我的解释不清楚,我很抱歉,但希望这些图片能澄清我的意思。
谢谢!
PS 我知道这些图像来自 Excel,为了清楚起见,我只是导出了数据的子集。
您可以将 Col Cumulative Sum 与 Col Min 结合起来
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(12),
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B"})),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1])),
New Column("Column 3", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 2, 3, 1, 1, 1, 1, 2, 2, 3, 3]))
);
dt << New Column("R", Numeric, Continuous, Formula(
Col Cumulative Sum(Row() == Col Min(Row(), :Column 1, :Column 2, :Column 3), :Column 1, :Column 2)
));
