<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao di nuovo,
Sto scrivendo uno script che apre diversi file CSV e li unisce; sta funzionando bene!
In una colonna, vorrei dividere i valori di un'altra colonna per un valore.Non riesco proprio a capirlo.Posso farlo però sull'editor di formule, ma non credo di poter usare quella sintassi durante lo scripting.
dt << Nuova colonna("."); //solo per creare una colonna vuota
dt << Nuova colonna("Id(A/mm)");
col = Colonna("Id(A/mm)");
col << Imposta Formula(Colonna("Id(A)")/Wg);
col <
[codice/]
Ho scelto di utilizzare il secondo metodo di David.Penso di capire perché il suo primo metodo presenta un problema, ma non sono riuscito ad apportare le modifiche suggerite.Mentre eseguo lo script, posso creare tutte le nuove colonne, ma le formule non funzionano.
col=nuova colonna("."); //aggiungi una colonna vuota
col=Nuova colonna("Id(A/mm)",numerico,continuo);
col<
col<Ri: JLS: dividere la colonna per un valore
sì, ben individuato.Grazie
Si è verificato un problema con la prima soluzione fornita da David.Mentre il codice funzionerà, la formula creata è:
:Sequenza/valoreDaDivideBy
Poiché "valueToDivideBy" è una variabile di memoria scalare, che scomparirà una volta chiusa la sessione JMP o potrebbe cambiare valore nel corso dell'elaborazione giornaliera, il valore calcolato di "col" potrebbe diventare non valido o errato.Sarebbe preferibile la seconda versione della formula.Tuttavia, se desideri utilizzare la struttura della prima soluzione, potresti fare un paio di cose:
1. Cambia la formula Se in:
col << Imposta formula(Eval(Parse(:Sequenza/"||char(valoreToDivideBy)));
2. Converti la formula in valori statici una volta applicata la formula.Per fare ciò, aggiungi la riga seguente dopo la riga col << Imposta formula
col <Ri: JLS: dividere la colonna per un valore
qualcosa del genere forse:
alcuniNumeri = 1 :: 10 ;
Nuova tabella ( "dimostrazione" ,
Aggiungi righe ( 10 ) ,
Nuova colonna ( "Sequenza" , numerico , continuo , << Imposta valori ( alcuniNumeri ) )
) ;
col = Nuova colonna ( "." , numerico , continuo ) ;
valoreDaDividePer = 2 ;
col << Imposta la formula ( : Sequenza / valoreDaDividePer ) ;
// O ...
col = Nuova colonna ( ".." , numerico , continuo ) ;
col << Imposta la formula ( AsColonna ( "Sequenza" ) / 2 ) ;