Ciao a tutti,
dopo aver creato una nuova colonna Valore_Norma Voglio applicare la formula per calcolare i valori relativi in base alla posizione di "1" nel Base_valore_norma colonna:
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
)
)
)
); Il problema è che quando provo a eseguire lo script ottengo il seguente errore:
Numero di riga non valido durante l'accesso o la valutazione di "dt::SerialNumber[ /*###*/Row()]" , dt :: SerialNumber[/*###*/Row()].
Ma se fornisco la formula manualmente dopo la creazione della colonna, funziona come desiderato. Quale può essere la ragione per cui non funziona nello script? Devo farlo nello script poiché è necessario creare diverse nuove colonne in questo modo. In allegato la tabella dati con la formula salvata.
Grazie e cordiali saluti
Mi sfugge qualcosa o puoi semplificare la formula per
dt = :SerialNumber << get data table;
curSerialNumber = dt:SerialNumber;
dt:Value[dt << get rows where( dt:Base_value_norm == 1 & dt:SerialNumber == curSerialNumber )] / dt:Value;