如何从下到上评估一列?我需要计算特定单元格的负索引,如何让单列从下到上进行计算?
29 栏 31 栏
0 -5
0 -4
0 -3
0 -2
0 -1
1 -42
1 -41
1 -40
If( Lag( :Column 29, -1 ) == 1 & :Column 29 == 0,
-1,
Lag( :Column 31, -1 ) - 1
)
自动化和脚本基础数据分析与建模回复:如何从下到上评估一列?Jarmo 有一个很好的方法来解决这个问题。我选择了一条更长的路线,它展示了一种反向工作的方法。该方法在公式开始处理时使用 As Constant() 函数完成所有工作,该函数运行一次包含的代码。在本节中,它从最后一行循环到第一行并创建一个名为“Values”的结果矩阵。然后在实际公式中,唯一要做的就是将 Values 矩阵中的值应用于每一行。
As Constant(
values = J( 1, N Rows( Current Data Table() ), . );
For( i = Length( values ) - 1, i >= 1, i--,
if(:col 29[i] == 0 & :Col 29[i + 1] == 1,
values[i]=1,
:col 29[i] == 0 & :Col 29[i + 1] == 0,
values[i] = values[i-1]-1,
values[i]=.
));
Show( values );
);
values[Row()];

回复:如何从下到上评估一列?根据您的示例数据,您可能能够使用第一列的组,然后使用该组中的项目数和累计总和
Col Cumulative Sum(1, :Column 1) - 1 - Col Number(:Column 1, :Column 1)
