Re: Mensaje desconocido que aparece en un código JSL válidome encanta tener "Mensajes de objeto desconocido de color" habilitado:

Entonces puedo verificar rápidamente si los objetos están inicializados.
pero a veces, los mensajes están marcados en rojo, aunque son "conocidos".
Minutos después, Jmp corrige el error.
ejemplo: dt se conoce como una tabla de datos, y unos minutos más tarde, Jmp sabrá que puede enviar Iniciar actualización de datos a la tabla de datos.
Por que es Comenzar tabla de datos marcado como desconocido?

Re: Mensaje desconocido que aparece en un código JSL válidoEso fue todo. Debo haber habilitado inadvertidamente "Mensajes de objeto desconocido de color" cuando intentaba crear un tema de modo oscuro.
Re: Mensaje desconocido que aparece en un código JSL válidoParece que tienes activada la preferencia "Colorear mensajes de objetos desconocidos". Puede encontrar esta configuración en el cuadro de grupo "Formato JSL" en el grupo de preferencias del Editor de secuencias de comandos.Antes de ejecutar el script, no se ha asignado la variable albumTable, por lo que jmp no es agresivo al marcar mensajes de objetos como desconocidos.Cuando se ejecuta el script, albumTable se establece igual a una tabla y luego esa tabla se cierra.En ese momento, jmp puede determinar mejor qué mensajes son válidos y, dado que una tabla cerrada no puede manejar un mensaje de "eliminar filas", el mensaje se coloreará en rojo.Dado que la evaluación de objetos y mensajes puede llevar mucho tiempo, JMP no vuelve a verificar cada secuencia de comandos cada vez que se cambia una variable, por lo que es posible que deba volver a formatear la secuencia de comandos o editar la línea con el mensaje para ver la actualización de color.
Re: Mensaje desconocido que aparece en un código JSL válido
@Jeff_Perkinson escribió:
Eso es realmente extraño. Nunca he visto eso antes. ¿Qué versión de JMP estás ejecutando?
Ídem. Como dije, nunca tuve este problema hasta hace unos meses. Es realmente extraño. Intenté experimentar con la creación de un tema de modo oscuro para JSL hace un tiempo, pero finalmente volví a la configuración predeterminada, ya que no estoy tan versado en lo que están asociados todos los elementos en la lista de estilos en JSL. No ayuda que sepa lo suficiente sobre la ciencia del color para estar bastante **bleep** sobre la selección de colores que son complementarios, pero que también se adaptan bien al tema general; Simplemente no tengo tanto tiempo libre en este momento. :cara_frunciendo el ceño:
Estoy ejecutando JMP 14.3. Como soy el administrador de JMP de nuestra empresa, trato de mantener actualizados a los usuarios de JMP.
Re: Mensaje desconocido que aparece en un código JSL válidoAhora entiendo lo que estás describiendo. La imagen ayuda a explicar que la codificación de colores en el editor de secuencias de comandos no está coloreando correctamente los mensajes válidos. En cambio, los está coloreando de rojo ya que las preferencias predeterminadas proscriben para Mensajes desconocidos .

Eso es realmente extraño. Nunca he visto eso antes. ¿Qué versión de JMP estás ejecutando?
Re: Mensaje desconocido que aparece en un código JSL válido
@Craige_Hales escribió:
También: desconocido es un breve mensaje de error que utiliza JMP cuando sucede algo para lo que JMP no estaba preparado. Puede ejecutar el JSL una declaración a la vez, observando el registro, para aislar el problema. JMP intenta diagnosticar errores cuando se analiza y ejecuta el JSL; si JMP detecta un error sin planificarlo, todo lo que JMP puede decir es desconocido .
Si puede publicar un ejemplo independiente, JMP podría tener un mejor mensaje para la próxima persona que lo encuentre.Enviar el ejemplo al soporte técnico se asegurará de que se rastree.
El problema puede ser más obvio una vez que se conoce la línea del problema y se pueden estudiar los valores en las variables (imprimirlos en el registro). Podría ser un valor faltante o datos de caracteres donde se necesitan datos numéricos, o podrían ser dos parámetros para una llamada de función intercambiada, o usar una fila de tabla demasiado grande o demasiado pequeña, o algo más. Todos estos deberían tener un mejor mensaje que desconocido .
Si no me estoy perdiendo lo que está tratando de transmitir, parece que se está refiriendo a una ventana de mensaje o a un error informado por el depurador. Las banderas que obtengo están en el código. Según el código de colores predeterminado para JSL, las palabras clave en rojo son errores o mensajes desconocidos. Como no recibo un mensaje de error al guardar el script y se ejecuta sin problemas, la única posibilidad que queda es que las palabras clave en rojo sean mensajes desconocidos.
Re: Mensaje desconocido que aparece en un código JSL válidoEl resaltado no aparece cuando se agrega código a una publicación con una etiqueta JSL, así que aquí hay una captura de pantalla del código con las banderas.

Como dije en mi publicación original, el script funciona según lo previsto, pero el hecho de que muchas líneas tengan palabras reservadas marcadas como Mensaje desconocido me hace pensar que hay otro problema subyacente. He estado usando JSL durante algunos años y solo en los últimos meses recibo estos indicadores de mensajes desconocidos. Ahora que lo pienso, esto probablemente comenzó después de actualizar mi instalación de JMP a 14.3.
gzmorgan0 escribió:
albumTable << Borrar Filas(N Filas()); ¿Cuál es la intención de este JSL?
Esa línea de código elimina la última fila de la tabla de datos que no son datos del álbum.
gzmorgan0 escribió:
Todo el código que usa el filtro de datos es confuso. Simplemente use
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> select where</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Artist<SPAN class="token operator">==</SPAN><SPAN class="token string">""</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> delete rows</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
El código de filtrado que tengo en el script fue generado por JMP cuando estaba realizando el proceso manualmente. Si bien he estado usando JSL durante aproximadamente 5 años, no soy un experto debido al hecho de que mi carga de trabajo es tal que tengo poco tiempo para aprender algo nuevo y mucho menos para dominarlo, por lo que rara vez genero un script completamente desde cero. . Complemente con el hecho de que ahora necesito aprender R porque uno de nuestros clientes usa R e insiste en que hagamos lo mismo.
Re: Mensaje desconocido que aparece en un código JSL válidoeditar: ignore esta respuesta después de la explicación adicional a continuación ... ¡gracias, Jeff!
También: desconocido es un breve mensaje de error que utiliza JMP cuando sucede algo para lo que JMP no estaba preparado. Puede ejecutar el JSL una declaración a la vez, observando el registro, para aislar el problema. JMP intenta diagnosticar errores cuando se analiza y ejecuta el JSL; si JMP detecta un error sin planificarlo, todo lo que JMP puede decir es desconocido .
Si puede publicar un ejemplo independiente, JMP podría tener un mejor mensaje para la próxima persona que lo encuentre.Enviar el ejemplo al soporte técnico se asegurará de que se rastree.
El problema puede ser más obvio una vez que se conoce la línea del problema y se pueden estudiar los valores en las variables (imprimirlos en el registro). Podría ser un valor faltante o datos de caracteres donde se necesitan datos numéricos, o podrían ser dos parámetros para una llamada de función intercambiada, o usar una fila de tabla demasiado grande o demasiado pequeña, o algo más. Todos estos deberían tener un mejor mensaje que desconocido .
@EvanMcCorkle @Audrey_Shull
Re: Mensaje desconocido que aparece en un código JSL válido@mdawson69 ,
¿Qué líneas de JSL están resaltadas? Hay varias líneas de JSL que son confusas:
Sin más detalles, no entiendo tus problemas.
Mensaje desconocido que aparece en código JSL válidoRecientemente, noté que JSL informa un mensaje desconocido para un código válido. A continuación se muestra el último ejemplo (mensajes desconocidos resaltados):
Names Default to Here(1);
Delete Symbols();
databaseFile = Pick File(
"Select Music Collection File",
"$DOCUMENTS",
{"Music Collection|csv"},
1,
0
);
albumTable = Open(databaseFile);
albumTable << <FONT color="#FF0000">Delete Rows</FONT>(N Rows());
:Name("Artist/Album") << Set Name("Title");
:Single 2 << Set Name("CD Single");
:LP << Value Labels({0 = "False", 1 = "True"});
:EP << Value Labels({0 = "False", 1 = "True"});
:Single << Value Labels({0 = "False", 1 = "True"});
:Album << Value Labels({0 = "False", 1 = "True"});
:CD Single << Value Labels({0 = "False", 1 = "True"});
:Want << Value Labels({0 = "False", 1 = "True"});
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist Block",
Character,
Formula(If(:Format == "", :Title))
);
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist",
Character,
Formula(
If(Row() != 1,
If(:Artist Block == "",
Lag(:Artist, 1),
:Artist Block
),
:Artist Block
)
)
);
albumTable << <FONT color="#FF0000">Move Selected Columns</FONT>({"Artist"}, To First);
tableName = albumTable << <FONT color="#FF0000">Get Name</FONT>();
artistCategoryTable = albumTable << <FONT color="#FF0000">Subset</FONT>(
Output Table("Artist Category " || tableName),
Copy Formula(0),
All Rows,
Selected Columns Only(0)
);
Close(albumTable, NoSave);
artistRowFilter = artistCategoryTable << <FONT color="#FF0000">Data Filter</FONT>(
Mode(Include(1)),
Inverse(1),
Add Filter(
Columns(:Artist Block),
Where(:Artist Block == "")
),
Invisible
);
artistCategoryTable << <FONT color="#FF0000">Delete Rows</FONT>;
artistCategoryTable << <FONT color="#FF0000">Delete Columns</FONT>(:Artist Block);
artistRowFilter << <FONT color="#FF0000">Clear</FONT>;
artistRowFilter << <FONT color="#FF0000">Delete</FONT>;Como en otras secuencias de comandos en las que he visto esta codificación de colores, esta secuencia de comandos se ejecuta sin problemas. ¿Alguna idea sobre por qué los mensajes JSL válidos se marcan como desconocidos?
Automatización y secuencias de comandos