JMP comprime las imágenes importadas. Sin embargo, actualmente, almacena cada imagen por separado.
Entonces, cuando el usuario importa la misma imagen varias veces, el consumo de memoria aumenta con cada "nueva" imagen.
Una solución fácil: seguir el enfoque presentado por @juliano en Discovery Summit Europe 2025
https://community.jmp.com/t5/Abstracts/Scaling-Innovation-Integrating-Data-Science-into-Engineering/ev-p/835004 :
Almacene las imágenes en una tabla separada y utilice un vínculo virtual con una columna de índice.
El truco genial:
Después de configurar el enlace virtual, Julian muestra la columna y la arrastra "hacia" la tabla principal para que quede bien visible.
Desafortunadamente, después de guardar, cerrar y abrir la tabla de datos, la columna virtual se mueve al final de la tabla principal (supongo que sigue la idea: la tabla vinculada puede haber cambiado, por lo que es mejor restablecer la configuración con cada nuevo inicio).
- ¿Hay alguna forma de posicionar la columna con las imágenes de forma permanente entre columnas de la tabla principal?
- Intenté copiar el contenido a través de una columna de fórmula, pero el comportamiento es extraño:
cuando edito una entrada de la columna de índice, solo se actualiza la columna virtual: la columna de fórmula es perezosa y conserva su contenido original. [cuando agrego una nueva fila, se actualiza el contenido de la columna de fórmula].
names default to here(1);
Open( "$SAMPLE_DATA/Big Class Families.jmp" );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Data Table( "Big Class Families" ) << Select Where( :name == "ROBERT" ) <<
Delete Rows;
Data Table( "Big Class Families" ):name << Set Property( "Link ID", 1 );
Data Table( "Big Class" ):name << Set Property(
"Link Reference",
Reference Table( "Big Class Families.jmp" )
);
Data Table( "Big Class" ) << New Column( "1:1 copy",
Expression,
"None",
Formula( :"picture[name]"n )
) << Run Formulas;
Data Table( "Big Class" ) << Move Selected Columns( {:"1:1 copy"n}, To First );
Agregué un script de tabla con
current data table() << rerun formulas();
El usuario puede ejecutarlo para corregir las entradas antiguas en la columna de fórmula.
[el mismo problema también para las columnas de fórmula en otras columnas virtuales como entradas numéricas y de caracteres]
Es posible que un script onOpen pueda solucionar el problema.