大家好,
我正在寻找针对数据库中多列的公式。 这不是那么容易理解,我会用一个例子来解释我的目标:

STEP 1:对应编号2100
灰色部分:
这里有 4 种不同的对象类型(ENT1、..、ENT4)。 每个对象都与一个进度编号(T 列)相关联,这些编号与明确定义的操作相关联。
黄色部分:
这些单元格显示每个对象将接受哪些“数字”,并将此数字与操作相关联。 当单元格为空时,表示该对象不会进行此操作。
目标是:
- 将到步骤 1 的持续时间相加,知道对象有一个进步(例如:对象 ENT2 位于编号 1749,所以它之前在 1500 中所做的我们不感兴趣)所以到步骤 1 的持续时间只是步骤 1749 的持续时间,因此持续时间 = 45
我从这段代码开始:
Names Default To Here( 1 );
dt = Current Data Table();
dur_cols = Filter Each({col_name}, dt << Get Column Names("String", Continuous),
Starts With(col_name, "durée"));
// for indexing later
num_colnr = Transform Each({col_name}, dur_cols,Word(-1, col_name));
dt << New Column("DUREE ETAPE1", Numeric, Continuous, Format(":jou:hh:m",8), << Set Each Value(
If( :"T"n < 2100 ,
colidx = Loc(dt[Row(), num_colnr] > :"opé"n & (num_colnr < 2100 ) );
If(N Items(colidx) > 0,
val = Sum(dt[Row(), dur_cols[colidx]]);
If(IsMissing(val),
0
,
val
);
,
0
)
,
0
)
));
感谢您的帮助,
亲切地