¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Se puede hacer referencia a las tablas en JSL por un nombre de variable o por el título de la tabla.Por ejemplo:
Si creé una tabla a través de una consulta:
dtMap = Abrir base de datos (DSN, cadena SQL, "Mapa" );
Entonces puedo referirme a esa tabla como dtMap o DataTable ("Mapa").
Si creo un informe:
Biv = Bivariado(Y(yy), X(xx));
Puedo referirme a él como Biv.
Pero, ¿puedo llamarlo por un título o nombre?(por ejemplo, informe ("Ajuste bivariado de yy por xx"))
Normalmente prefiero usar el nombre de la variable, pero tengo una aplicación en la que no tengo eso y necesito consultar el informe por otros medios.
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?No hay necesidad de disculparse aquí. (Y si lo hubo, ¡entonces no lo publiques en primer lugar! j)
Gracias por presentar esa omisión en la documentación. Lo investigaremos más a fondo.
El mensaje aparece en Ayuda > Índice de secuencias de comandos . La búsqueda encuentra este mensaje y muestra información al respecto. Al hacer clic en el Ayuda botón abre la documentación para usted. En este caso, la única información está en el Guía de sintaxis JSL . Aparentemente no hay nada en el Guía de secuencias de comandos JMP como usted señaló.
El Índice de secuencias de comandos y el Guía de sintaxis JSL no son ayudas redundantes pero muy útiles por derecho propio.
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?La función Window() es para una secuencia de comandos y la utiliza un programador. El resultado no suele ser visible para el usuario. El programador puede ver el resultado en el Registro como una ayuda para el desarrollo y la depuración.
El resultado es útil porque, en primer lugar, confirma que se obtuvo un resultado de una lista de referencia de todas las ventanas abiertas y, en segundo lugar, puede usarse para trabajar con estas ventanas, como lo ilustran Wendy e Ian. El formulario "Ventana() << Obtener título de ventana" utiliza el resultado de la función (una lista) y distribuye el mensaje (Obtener título de ventana) a cada elemento de la lista. El resultado del mensaje es una nueva lista con el título de cada ventana abierta como una cadena de caracteres. Por lo tanto, no necesita comprender el resultado de Window() ("salida críptica") para usarlo.
Solo depende de lo que quieras hacer. Si obtengo la referencia de la ventana, puedo hacer cualquier cosa con la ventana con funciones y mensajes. Si obtengo el título de la ventana, que podría significar algo para el usuario, esa información tiene una utilidad algo limitada en un script.
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Permítanme agregar uno compatible con JMP.¡¡Lo siento!!
Pero, ¿por qué una búsqueda en la guía de secuencias de comandos para:
Obtener título de ventana
o
ObtenerTituloDeVentana
no producen fósforos?
Y una búsqueda de Window() solo coincide
¿Mostrar ventana(), Imprimir ventana(), Nueva ventana() y DataTable Window()?
Sugiero que se agreguen en algún lugar de los primeros capítulos, ya que parecen ser funciones bastante básicas para administrar ventanas en JMP.
¿Estás de acuerdo?
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Gracias a todos.
Incluso una variable configurada como la línea de abajo, da una salida críptica al usuario, incluso si JMP sabe lo que significa.
xxx = Ventana ();
mostrar (xxx);
xxx = {Cuadro de visualización[Cuadro de cabecera], Cuadro de visualización[Cuadro de cabecera], Cuadro de visualización[Cuadro de cabecera], Cuadro de visualización[Cuadro de cabecera], Cuadro de visualización[Cuadro de cabecera], Cuadro de visualización[Cuadro de cabecera]};
Cualquiera:
xxx << Obtener título de ventana ;
O la línea única:
xxx = ventana () << Obtener título de ventana ;
Obras.
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Para construir sobre lo que Mark y Melanie ya han dicho:
NamesDefaultToHere(1);
// Make a report, but don't keep any reference to it
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Bivariate(X(:height), Y(:weight));
// See which windows are open in the current session and find the window of interest
openW = Window();
myWin = {};
for(w=1, w<=NItems(openW), w++,
winTitle = openW[w] << getWindowTitle;
Print(winTitle);
if(Contains(winTitle, "Bivariate"), InsertInto(myWin, openW[w]))
);
// Do a linear fit in each Bivariate report that we found
Wait(2);
for(w=1, w<=NItems(myWin), w++,
// Get the scriptable object for the Bivariate 'analysis layer'
thisSO = myWin[w]["Bivariate ?"] << getScriptableObject;
// Fit the line
thisSO << fitLine;
);
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Puede obtener una lista de los títulos de las ventanas como cadenas directamente:
Window() << Get Window Title
Devuelve algo como esto:
{"Script", "Big Class", "Big Class - Distribution"}Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Debe estar mirando los resultados devueltos por el Ventana() función en el Registro. Esta pantalla simplemente verifica que hay un montón de ventanas abiertas e identifica la raíz de cada árbol de pantalla con un nombre genérico.
Puede guardar esta lista en una variable y luego recorrer la lista mientras examina cada elemento. Por ejemplo, podría obtener el título de la ventana y comprobarlo para ver si es el que desea. Si es así, puede guardarlo y salir del bucle. Ahora use la referencia obtenida de esta manera como si la hubiera guardado en primer lugar.
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Muchas gracias por una respuesta rápida.
La salida que obtengo de Windows() parece muy genérica.no estoy entendiendo algo
{DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox],
DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox],
DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox]}
Re: ¿Cómo puedo identificar un informe en jsl si ese informe no está asociado con una variable?Puede hacer referencia a las plataformas abiertas de Bivariate por índice utilizando la sintaxis de índice, como Bivariate[1]. El índice es el orden en que fueron lanzados.
Puede usar la función Window() para obtener una lista de ventanas abiertas y luego iterar sobre sus elementos para encontrar y examinar todas las plataformas de un tipo en particular.