Hallo an alle,
Ich habe eine Datenbank wie unten:

Im Comic sind die grünen Zellen die Ergebnisse, die wir erhalten möchten.
Ich möchte ein Skript zur Berechnung der Dauer erstellen.
Ich habe „Startdatum“-Spalten und dann eine „Zahlen“-Spalte, die die Reihenfolge der Ausführung angibt.
Das Ziel wäre, anhand der Zahlen „Startdatum y – Startdatum x“ zu berechnen.
Ich erkläre mich an einem Beispiel mit dem Comic:
1. Zeile : Wir bemerken, dass die Spalte „720“ die Zahl 12 in der Zelle hat, also suchen wir in allen „Zahlen“-Spalten nach der ersten, die größer als 12 ist (hier Spalte „740“ mit dem Wert 21)
Dauer 720 wäre also Dauer 720 = Startdatum 740 – Startdatum 720.
Für die Dauer 740 wäre es dann Dauer 740 = Startdatum 9801 – Startdatum 740 mit dem gleichen Prinzip
Hier ist das Skript, mit dem ich angefangen habe:
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
);
);
)));Vielen Dank für Ihre Hilfe !