Bonjour tout le monde,
après avoir créé une nouvelle colonne Norm_Value Je veux appliquer une formule pour calculer des valeurs relatives en fonction de la position de "1" dans le Base_value_norm colonne:
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
)
)
)
); Le problème est que lorsque j'essaie d'exécuter le script, j'obtiens l'erreur suivante :
Numéro de ligne non valide lors de l'accès ou de l'évaluation de "dt::SerialNumber[ /*###*/Row()]" , dt :: SerialNumber[/*###*/Row()].
Mais si je fournis la formule manuellement après la création de la colonne, cela fonctionne comme vous le souhaitez. Quelle peut être la raison pour laquelle cela ne fonctionne pas dans le script ? Je dois le faire dans le script car plusieurs nouvelles colonnes doivent être créées de cette manière. Le tableau de données avec la formule enregistrée est joint.
Merci et cordialement
Ai-je raté quelque chose, ou pouvez-vous simplifier la formule pour
dt = :SerialNumber << get data table;
curSerialNumber = dt:SerialNumber;
dt:Value[dt << get rows where( dt:Base_value_norm == 1 & dt:SerialNumber == curSerialNumber )] / dt:Value;