Ciao,
utente JMP principiante qui,
Vorrei creare una nuova colonna "Tag Range" che contiene la formula "Tag.ULIMIT-Tag.LLIMIT".
Tag.ULIMIT e Tag.LLIMIT sono colonne nella mia tabella di dati.
Posso creare la colonna definendo esplicitamente i nomi delle colonne nella formula come di seguito, ma vorrei sostituirli con le variabili "UpperLIMIT" e "LowerLIMIT".
(in definitiva, vorrei eseguire uno script che crea questa colonna in base al nome del tag selezionato dall'utente)
Names Default To Here( 1 );
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
dt = Current Data Table();
Questo funziona:
dt << New Column( a || " Range", formula( :Tag.ULIMIT - :Tag.LLIMIT ) );
questo non funziona:
dt << New Column( a || " Range", formula( :UpperLIMIT - :LowerLIMIT ) );
JMP non valuta le istruzioni all'interno di una definizione di "formula" prima di creare la formula.Presuppone che la formula sia come deve essere.Pertanto la formula deve essere sintatticamente come necessario quando specificato.Il codice seguente lo gestisce per il tuo esempio
Names Default To Here( 1 );
dt = Current Data Table();
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
Eval(
Parse(
"dt << New Column( \!"" || a || " Range\!", formula( :"
|| UpperLIMIT || " - :" || LowerLIMIT || " ) )); "
)
);