Hallo,
Ich möchte eine for-Schleife erstellen, die zwei Dinge tut:
1. Erstellt neue Spalten basierend auf den Indizes der for-Schleife (dies funktioniert, da die Spalten min_val0 und min_val1 erstellt werden).
2. Erstellen Sie eine Formel (Mindestfunktion) für jede neu erstellte Spalte, die aktuelle Spalten basierend auf den Indizes der for-Schleife verwendet (funktioniert nicht).
Es scheint, dass der Versuch, "val0_" und char (i) innerhalb der Formel und der minimalen Funktion zu verketten, nicht funktioniert. Gibt es noch andere Möglichkeiten dafür? Dies ist ein kleines Beispiel, aber in meinem Fall habe ich Hunderte von Spalten, die für diese Art von Code benötigt würden.
Code:
for(i = 0, i <= 1, i += 1,
new column("min_val" || char(i), formula(minimum(("val0_" || char(i)), :Name("val1_0"),:Name("val2_0"))))
)

Wenn Sie eine Formel definieren, werden während der Definition keine Berechnungen durchgeführt.Man muss also der Formel die gesamte erforderliche JSL zur Verfügung stellen.Im Folgenden finden Sie eine Methode zum Erstellen der gewünschten Spalten und Formeln
For( i = 0, i <= 1, i += 1,
Eval(
Substitute(
Expr(
New Column( "min_val" || Char( i ),
formula(
Minimum( (__minval__), :Name( "val1_0" ), :Name( "val2_0" ) )
)
)
),
Expr( __minval__ ), Parse( "val0_" || Char( i ) )
)
)
);