Agregar imágenes de URL en una columnaHola querida comunidad,
Tengo una tabla de datos donde me gustaría agregar una columna de imagen basada en una ruta URL que tengo en otra columna ("Ruta").
La columna URL ("Ruta") se construye en función de la columna anterior (nombre+número) para tener las URL correctas para cada fila. La fórmula de la ruta está en el conjunto de datos del juguete o aquí:
Char( "https://bulbapedia.bulbagarden.net/wiki/File:" ) || Char( :"#"n ) ||
Char( :Name ) || Char( ".png" )
donde el comienzo es el nombre del sitio web, luego "#" es un número en la URL, "Name" el nombre del Pokémon y termina en ".png". En conjunto, la URL permite ser redirigido a la imagen de Pokémon específica (ejemplo: https://bulbapedia.bulbagarden.net/wiki/File:002Ivysaur.png )
Tengo problemas para crear una columna de imágenes basada en esta URL, lo intenté con una fórmula pero obviamente mi fórmula no es correcta (intenté buscar en Community y Index Scripting, pero no pude).
Me gustaría tener una columna (como la columna 2 en la captura de pantalla o conjunto de datos) donde la fórmula mira la columna Ruta y recupera una imagen (y, si es posible, ¡poder controlar el tamaño de esta imagen!) del sitio web.
¿Es posible y alguien sabe cómo hacerlo?
Se adjunta un subconjunto de un conjunto de datos de juguetes.
Gracias de antemano por sus respuestas !
Investigación de Consumidores y MercadosCombinación y limpieza de datosLa personalización en masaRe: Agregar imágenes de URL en una columnaesto es genial:
Imágenes en tablas de datos y herramientas JSL relacionadas (2020-US-30MP-585)
Re: Agregar imágenes de URL en una columnaHola @Craige_Hales ,
Muchas gracias por sus valiosos aportes y perdón por la demora en mi respuesta.
La solución es exactamente como usted menciona, una combinación de Fórmula de columna (para crear una URL basada en otros valores de columna), Columna de expresión (para mostrar imágenes cortas) y un Controlador de eventos de columna (para tener una imagen más grande con estadísticas haciendo clic en la celda ).
Tengo mucho que aprender sobre secuencias de comandos jsl y formato/tipo de columna especial, estoy sorprendido de ver todas las posibilidades (¡y ahora tengo aún más curiosidad por descubrir otras nuevas!). Profundizaré en el curso de secuencias de comandos jsl para tener los conceptos básicos.
Muchas gracias por tu interés y respuesta.Re: Agregar imágenes de URL en una columnaHola @jthi !
Asombroso ! Muchas gracias por la sugerencia ! Podría actualizar el código jsl para que Windows sea más informativo.
Pero tengo que tener cuidado, este conjunto de datos de juguetes Pokémon tiene 800 entradas, así que elijo el tamaño más bajo para la imagen URL y tengo que tener cuidado de que el tamaño del archivo no sea demasiado grande.
Muchas gracias por tu ayuda !Re: Agregar imágenes de URL en una columnaTambién puede modificar la Nueva ventana en el controlador de eventos para que la nueva ventana sea más informativa si es necesario (ese también es un posible lugar para escalar la imagen)
Este no es un controlador de eventos sino un script de ejemplo de lo que se podría hacer.
Names Default To Here(1);
img = New Image(
New HTTP Request(
url("https://archives.bulbagarden.net/media/upload/2/21/001Bulbasaur.png"),
Method("GET")
) << send
);
img << scale(0.5);
New Window("001 - Bulbasaur", << Show Toolbars(0), << Show Menu(0),
V List Box(
align("center"),
Text Box("001 - Bulbasaur", <<SET font="" style=""></SET>Re: Agregar imágenes de URL en una columnaHola @jthi ,
Después de haber analizado algunas URL como las que mostró en su archivo, ¡las propiedades de la columna configuradas funcionan de maravilla! ¡Muchas gracias por tu rápida respuesta y guía completa!
Tengo que ocuparme de algunos "Nombres" que no están formateados correctamente y extraer las imágenes solo una vez y en conjuntos de datos pequeños (y luego combinarlos), de lo contrario, JMP comienza a fallar...
¿Quién diría que podríamos hacer una Pokedex con JMP? :pag
¡Muchas gracias por tu solución!
Re: Agregar imágenes de URL en una columnaTres ideas ortogonales que se pueden utilizar en varias combinaciones:
- Fórmula de columna: calcula un valor para una celda basándose en otras celdas
- Columna de expresión: una celda que contiene un valor que no está restringido a un número o una cadena (imágenes, matrices, JSL)
- Controlador de eventos de columna: fórmulas adicionales para que una columna maneje hacer clic en las celdas (y información sobre herramientas y color)
Quizás quieras los tres. La fórmula de columna puede crear una cadena de URL a partir de otras celdas, recuperar la imagen de la URL, dimensionar la imagen y, si la columna también es una columna de expresión, usar la imagen como expresión. open() o newimage() tomarán una URL para un .jpg y devolverán un objeto de imagen.
El controlador de eventos puede entonces hacer que se pueda hacer clic en la imagen/celda; ese controlador de clics podría usar las otras celdas a partir de las cuales se creó la URL si la columna también es una columna de fórmula. No escriba los controladores de eventos a mano. Use la GUI para crearlos y probarlos, luego, si necesita JSL para crearlos, use el triángulo rojo para capturar el script de la tabla de datos y modifíquelo. El controlador de eventos predeterminado tiene un JSL estándar que querrás estudiar y luego cambiar.
Re: Agregar imágenes de URL en una columnaLas URL de los datos de muestra no son enlaces directos a las imágenes. ¿Tiene que obtenerlos de la página o puede obtener los enlaces directos a las imágenes? Por ejemplo para bulbasaur (dependiendo del tamaño) https://bulbapedia.bulbagarden.net/wiki/File:001Bulbasaur.png -> https://archives.bulbagarden.net/media/upload/thumb/2/21/001Bulbasaur.png/240px-001Bulbasaur.png . Si no puede obtener enlaces directos, lo primero que debe hacer es escribir una función que analice las URL de las imágenes de la página.
Lo más probable es que el formato sea siempre bastante similar, por lo que escribir la función de análisis no debería ser demasiado difícil.

Esto podría funcionar, pero no estoy seguro de qué tan bien ni por cuánto tiempo:
Ver más...
Adjunté una tabla de datos con enlaces directos a algunas imágenes que las cargarán en la tabla de datos y también tiene el controlador de eventos de clic para abrir la imagen en una nueva ventana:

Está utilizando la columna Expresión con este tipo de fórmula:
New Image(New HTTP Request(url(:Column 1), Method("GET")) << send)
Dependiendo de cómo se use/construya la tabla de datos, podría ser mejor eliminar la fórmula/suprimir la evaluación (o usar << Establecer cada valor) para que las imágenes no se descarguen demasiadas veces.
Haga clic en Even Thandler para abrir la imagen después de que se haya cargado en la tabla de datos. Se vería así:
Function({thisTable, thisColumn, iRow},
{},
New Window("IMG", New Image(thisTable:thisColumn[iRow]))
);
Re: Agregar imágenes de URL en una columnaMuchas gracias por tu rápida respuesta. @jthi !
Esto ya me ayuda mucho, comprobaré qué es posible. Como claramente soy un novato en JSL/scripting, si tiene tiempo para proporcionar un script para la expresión del controlador de eventos, se lo agradecería mucho 
Me gustaría tener imágenes pequeñas en la columna (y no solo hacer clic en la URL o abrir un navegador) como en el conjunto de datos SAS Offices.jmp en la biblioteca de datos de muestra ( Resuelto: ¿Jmp permite que el contenido de una celda sea un hipervínculo? - Página 2 - Comunidad de usuarios de JMP )
Muchas gracias !
Re: Agregar imágenes de URL en una columnaLos controladores de eventos deberían poder manejar esto. Algunos ejemplos se pueden encontrar en 2022_Q1 MakeOverChallenge: Acción al hacer clic con el mouse de varias maneras . Cuando tenga un poco más de tiempo debería poder hacer un ejemplo con la tabla de ejemplo proporcionada (si es necesario).