Hallo zusammen,
nach dem Erstellen einer neuen Spalte Norm_Wert Ich möchte eine Formel anwenden, um relative Werte basierend auf der Position von "1" im zu berechnen Base_value_norm Säule:
dt << New Column( "Norm_Value",
Numeric,
"Continuous",
formula(
Eval(
Eval Expr(
dt:Value[(:SerialNumber << get data table) << get rows where(
dt:Base_value_norm == 1 & dt:SerialNumber == Expr( dt:SerialNumber[Row()] )
)] / dt:Value
)
)
)
); Das Problem ist, wenn ich versuche, ein Skript auszuführen, erhalte ich die folgende Fehlermeldung:
Ungültige Zeilennummer beim Zugriff oder beim Auswerten von "dt::SerialNumber[ /*###*/Row()]" , dt :: SerialNumber[/*###*/Row()].
Aber wenn ich die Formel manuell angebe, nachdem die Spalte erstellt wurde, funktioniert sie wie gewünscht. Was kann der Grund sein, warum es im Skript nicht funktioniert? Ich muss das im Skript tun, da ich mehrere neue Spalten auf diese Weise erstellen muss. Die Datentabelle mit gespeicherter Formel ist beigefügt.
Vielen Dank und beste Grüße
Übersehe ich etwas oder kannst du die Formel vereinfachen zu
dt = :SerialNumber << get data table;
curSerialNumber = dt:SerialNumber;
dt:Value[dt << get rows where( dt:Base_value_norm == 1 & dt:SerialNumber == curSerialNumber )] / dt:Value;