¿Cómo nombrar una tabla a través de JSL y hacer referencia a ella más adelante en el script?Hola, estoy tratando de seleccionar un pequeño subconjunto de datos de una gran tabla de datos y crear una tabla temporal a partir de ella. El objetivo general es resumir los datos del subconjunto. El siguiente script crea la tabla de datos de subconjunto "Nombre", pero no me devuelve la referencia para procesar la nueva tabla. En el siguiente script, se resumen los datos de la tabla de datos de prueba, pero no los de la tabla de datos de nombre.
Por favor, ayúdame con eso.
dt=Open("Test.jmp");
Z= NRow();
k=dt<< Get Rows Where(:Para == "THK" );
pt = dt << Subset(
Rows(k),
Output Table Name("Name"),
);
// I want to summarize the data from this subset data table
Close (dt, No Save);
pt = Current Data Table ();
Summarize(
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
show (a,c);
Re: Referencia al nombre de la tabla de salidaLa primera es una pregunta y la segunda es una afirmación.
A menudo es eficiente cuando se trabaja con una tabla de datos para obtener una referencia y luego reutilizarla para enviar mensajes. El primer uso es llamar a la función para obtener esa referencia y almacenarla en una variable para referencia futura.
La tabla de datos actual es conveniente porque la mayoría de las acciones en JMP tienen como valor predeterminado esa tabla si no se especifica una explícitamente. El segundo uso asigna una referencia de tabla para convertirla en la tabla de datos actual. Imagine que tiene varias mesas abiertas y desea cambiar una mesa para que sea la actual.
Esta disposición en JSL es una cuestión de estilo. También depende del caso de uso si un estilo es más ventajoso que un estilo.
Re: Referencia al nombre de la tabla de salida
pt = current data table();
obtendrá la tabla de datos actual
current data table(pk);
establecerá la tabla de datos actual
Re: Referencia al nombre de la tabla de salidaCuál es la diferencia entre
pt = current data table();
y
current data table(pk);
?
Re: Referencia al nombre de la tabla de salidaEs posible que me esté perdiendo algo, pero a partir de la pregunta original, el problema planteado parecía ser la necesidad de poder hacer referencia a la tabla de datos subdividida para la función de resumen.En JMP 12, hay un argumento adicional disponible para la función de resumen.Puede agregar la tabla de datos como primer argumento.Entonces, todo lo que necesita hacer es cambiar la declaración de resumen a:
Summarize(pt,
a=by(:Para, Route),
//b= by(:Route),
c= count,
meanHT = mean(SITE_VALUE),
stdevHT = stddev(SITE_VALUE)
);
Otra observación es que estaba usando una declaración de:
pt = current data table();
Lo que creo que realmente quería hacer es establecer la tabla de datos actual en pk, usando:
current data table(pk);
¿O estoy completamente mal dirigido?
Re: Referencia al nombre de la tabla de salidaSi usa la opción 'Guardar' de 'Cerrar()', debe decirle a JMP dónde colocar el archivo:
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(3);
Close(dt, Save("$DESKTOP/"||(dt << getName)));Re: Referencia al nombre de la tabla de salida<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Gracias. Parece resolver mi problema original. .
De hecho, mi secuencia de comandos original también parece funcionar, pero no me permite manejar fácilmente el objeto de la tabla de datos. Como en el presente caso (usando su secuencia de comandos), no puedo guardar la tabla de subconjuntos. ¿¿Alguna sugerencia?? gracias de antemano
Cerrar (dtSub, Guardar);
tira un error.....
Problema de E/S. No se puede abrir en modo de lectura y escritura.
El sistema no puede encontrar el archivo especificado.
¿Guardar cambios en la tabla de datos de JMP Mujer?
Re: Referencia al nombre de la tabla de salida¿Quizás el equivalente JSL de 'Tablas> Resumen' es mejor en este caso?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
rows2get = dt << getRowsWhere(:sex == "F");
dtSub = dt << Subset(Rows(rows2get), Output Table("Females"));
dtSummary = dtSub << Summary(Mean(:Weight), Group(:age));