Hola,
usuario principiante de JMP aquí,
Me gustaría crear una nueva columna "Rango de etiquetas" que tenga la fórmula "Tag.ULIMIT-Tag.LLIMIT".
Tag.ULIMIT y Tag.LLIMIT son columnas en mi tabla de datos.
Puedo crear la columna definiendo explícitamente los nombres de columna en la fórmula de la siguiente manera, pero me gustaría reemplazarlos con las variables "UpperLIMIT" y "LowerLIMIT".
(en última instancia, me gustaría ejecutar un script que cree esta columna en función del nombre de etiqueta seleccionado por el usuario)
Nombres predeterminados hasta aquí (1);
a = "Etiqueta";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
dt = tabla de datos actual ();
Esto funciona:
dt << Nueva columna (a || "Rango", fórmula (: Tag.ULIMIT -: Tag.LLIMIT));
esto no funciona:
dt << Nueva columna (a || "Rango", fórmula (: UpperLIMIT -: LowerLIMIT));
JMP no evalúa las declaraciones dentro de una definición de "fórmula" antes de crear la fórmula. Asume que la fórmula es como debe ser. Por lo tanto, la fórmula debe ser sintácticamente según sea necesario cuando se especifica. El siguiente código maneja eso para su ejemplo
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 || " ) )); "
)
);