Nombre de la tabla de salida de la pilaHola,
Tengo un script que analiza dinámicamente parte de la información de la tabla de pila y me gustaría almacenar la tabla de pila como una nueva tabla de datos.
ystr1 = ":Valor de INFRAESTRUCTURA, :Valor de INFRAESTRUCTURA 1"
infr = "Valor de la infraestructura";
datos = "PPT";
nombre_salida = "infra_updated.jmp";
gbStr = EvalInsert("dt << Pila(
columnas (
^ystr1^
),
Columna de etiqueta de origen (^infr^),
Columna de datos apilados(^datos^),
Tabla de salida(^nombre_salida^)
)"
);
Eval(Parse(gbStr));
Estoy teniendo el siguiente error
Nombre Sin resolver: infra_updated..jmp en acceso o evaluación de 'infra_updated.jmp'
No se puede entender por qué EvalInsert no funciona para la tabla de salida
Automatización y secuencias de comandosRe: Nombre de la tabla de salida de la pilaLas comillas deben estar alrededor del nombre especificado de la Tabla de salida(). Por lo tanto, deben agregarse al valor de cadena de su variable nombre_salida
ystr1 = ":INFRASTRUCTURE Value, :INFRASTRUCTURE Value 1";
infr = "Infrastructure Value";
data = "PPT";
output_name = "\!"infra_updated\!"";
gbStr = Eval Insert(
"dt << Stack(
columns(
^ystr1^
),
Source Label Column(^infr^ ),
Stacked Data Column(^data^),
Output Table(^output_name^ )
)"
);
Eval( Parse( gbStr ) );
Re: Nombre de la tabla de salida de la pilaJim ya dio la razón de lo que va mal en tu guión. Le sugeriría que utilice otros métodos además de Eval(Parse()), ya que puede ser extremadamente difícil de depurar y no tiene resaltado de sintaxis en el editor de scripts.
Names Default To Here(1);
/*
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
*/
cols = {"INFRASTRUCTURE Value", "INFRASTRUCTURE Value 1"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);
Re: Nombre de la tabla de salida de la pilaGracias por explicar el problema.Re: Nombre de la tabla de salida de la pilaSoy bastante nuevo en las secuencias de comandos JSL y todavía estoy en el proceso de familiarizarme con ellas. Pero estoy de acuerdo en que su solución parece más fácil de depurar. GraciasRe: Nombre de la tabla de salida de la pilaProbé su solución pero veo este error. Tengo los nombres de columna correctos en la lista.
"Columna no encontrada en acceso o evaluación de 'Stack', Argumento Malo"
Re: Nombre de la tabla de salida de la pilaA mi me funciona bien en JMP18 (y 17) cuando lo pruebo con el ejemplo que dejé en el código
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);

¿Está seguro de que los nombres de las columnas están escritos correctamente y están en una lista?