Ich möchte eine Formel für mehrere Spalten in meiner Datenbank erstellen. Das ist nicht so einfach zu verstehen, ich erkläre mein Ziel an einem Beispiel:

SCHRITT 1: entspricht der Nummer 2100
Grauer Teil:
Hier gibt es 4 verschiedene Objekttypen (ENT1,..,ENT4). Jedem der Objekte ist eine Fortschrittsnummer (Spalte T) zugeordnet. Diese Nummern sind mit genau definierten Vorgängen verknüpft.
Gelber Teil:
Diese Zellen zeigen, welche „Zahlen“ jedes Objekt durchläuft, und verknüpfen diese Zahl mit Operationen. Wenn die Zellen leer sind, bedeutet dies, dass das Objekt dieser Operation nicht unterzogen wird.
Das Ziel ist:
- Summieren Sie die Dauer bis Schritt 1 und wissen Sie, dass das Objekt eine Weiterentwicklung erfahren hat (Beispiel: Das Objekt ENT2 befindet sich an der Nummer 1749, also interessiert uns nicht, was es zuvor im Jahr 1500 getan hat), sodass die Dauer bis Schritt 1 nur beträgt Dauer von Schritt 1749, also Dauer = 45
Ich habe mit diesem Code begonnen:
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
)
));
Vielen Dank für Ihre Hilfe,
Herzlich