Buongiorno a tutti,
Ho un database come di seguito,

Nel fumetto, le celle verdi sono i risultati che vorremmo ottenere.
Vorrei creare uno script per calcolare le durate.
Ho le colonne "data di inizio" e poi ho una colonna "numero" che indica l'ordine di esecuzione.
L'obiettivo sarebbe calcolare "data di inizio y - data di inizio x" in base ai numeri.
Lasciatemi spiegare un esempio con i fumetti:
1a riga : Notiamo che la colonna "720" ha il numero 12 nella cella, quindi stiamo cercando tra tutte le colonne "numero" la prima maggiore di 12 (qui la colonna "740" con il valore 21)
Quindi la durata 720 sarebbe durata 720 = data di inizio 740 - data di inizio 720.
Quindi per durata 740 sarebbe durata 740 = data inizio 9801 - data inizio 740 con lo stesso principio
Ecco la sceneggiatura che ho iniziato a scrivere:
dt = Current Data Table();
dur_cols = Filter Each( {col_name}, dt << Get Column Names( "String", Continuous ),
Starts With( col_name, "Date début" )
);
num_colnr = Transform Each( {col_name}, dur_cols, Word( -1, col_name ) );
char_cols = dt << Get Column Names ("string", Character);
wait(1);
N_taches = N Items(dur_cols);
for (i = 1, i <= N_taches, i++,
Eval(
Eval Expr(
col = dt << New Column ( "durée" || num_colnr[i], Numeric, "Continuous", Format(":jou:hh:m",8));
col << Formula(
colidx = Loc(dt[row(), char_cols] > Eval(num_colnr[i]))[1];
If ( N Items(colidx) > 0,
val = dur_cols[colidx] - Eval(dur_cols[i]);
If(IsMissing(val),
0
,
val
);
,
0
);
);
)));Grazie per l'aiuto !