Buongiorno a tutti,
Sto cercando di costruire una formula su più colonne nel mio database. Non è così facile da capire, spiego il mio obiettivo con un esempio:

FASE 1: corrisponde al numero 2100
Parte grigia:
Qui, qui ci sono 4 diversi tipi di oggetto (ENT1,..,ENT4). A ciascuno degli oggetti è associato un numero di avanzamento (colonna T), questi numeri sono legati a operazioni ben definite.
Parte gialla:
Queste celle mostrano quali "numeri" subiranno ogni oggetto e associano questo numero alle operazioni. Quando le celle sono vuote, significa che l'oggetto non subirà questa operazione.
L'obiettivo è:
- Sommare le durate fino al passo 1, sapendo che l'oggetto ha avuto un avanzamento (Es: l'oggetto ENT2 si trova al numero 1749, quindi quello che faceva prima nel 1500 non ci interessa) quindi la durata fino al passo 1 è solo la durata del passo 1749 quindi durata = 45
Ho iniziato con questo codice:
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
)
));
Grazie per l'aiuto,
Cordiali saluti