Fórmula de columna para convertir Unicode en símboloQuiero crear una tabla JMP que tenga una columna con el acceso directo Unicode para un símbolo y luego hacer que JMP muestre el símbolo (con una fórmula) en otra columna.En la captura de pantalla a continuación, me gustaría que la columna Desplegado tener una fórmula que use la columna Unicódigo como entrada y que muestra el resultado del símbolo mostrado.
La siguiente tabla se creó escribiendo manualmente Alt+Código.
No puedo entender cómo hacer eso en una fórmula de columna. Cualquier ayuda sería apreciada

La personalización en masaIngeniería de Calidad y ProcesosRe: +Re: Fórmula de columna para convertir Unicode en símboloHola @Craige_Hales ,
Gracias por la explicación sobre cómo forzar el "\!" escapar. Probé diferentes opciones, pero no conseguí que funcionaran del todo bien, pero esa explicación me ayudó a ver cómo era necesario modificar las cosas tanto con el escape como con la concatenación.
¡Gracias!,
DS
Re: +Re: Fórmula de columna para convertir Unicode en símbolo@Craige_Hales ,
Un maravilloso ejemplo y explicación de lo que sucede en el tiempo de análisis versus el tiempo de ejecución.
estan
+Re: Fórmula de columna para convertir Unicode en símbolose escapa!
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
Construir la cadena \!U requiere escapes para que JMP no intente encontrar el hexadecimal después de la U, antes de colocarlo allí. Eso sucede en tiempo de análisis, no en tiempo de ejecución, por lo que una vez que se crea la cadena, en uni arriba, es solo texto normal. Hasta que el análisis vuelva a escanear la cadena. Pero para hacerlo necesitamos un fragmento válido de JSL, que será "\!U03d0", incluidas las comillas. Para poner comillas, ¡más escapes! La cadena se analiza y luego se evalúa como un carácter Unicode. El resultado de la evaluación es el carácter Unicode y se asigna a beta.
El primer escape usa \[... ]\ para significar "no interpretes nada intermedio". El segundo usa \!\ para hacer un \ literal, luego el ! Sois solo personajes normales.
Re: Fórmula de columna para convertir Unicode a símboloHola @Craige_Hales ,
Gracias por la información sobre esto, lo encontré bastante interesante y útil.
Una cosa que no entiendo es cómo forzar el comando \!U con el hexadecimal. Digamos que tiene una columna como la del sitio web al que hizo referencia anteriormente, donde todas las entradas son U+hexadecimal, por ejemplo, Beta = U+03D0.
Puedes dividir el texto en la columna con algo como
Word(1,:Character,"+")||Word(2,:Character,"+")
Lo que le daría la salida U03D0.
Pero, cuando intento poner eso en un comando Parse() con \!U al frente, JMP se queja. Entiendo que Parse("\!U03D0") da beta. Lo que me desafía es que no puedo concatenar \!U al código hexadecimal. Por ejemplo, intentaría
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMP se queja. Lo que me gustaría que fuera el contenido del comando Parse es literalmente "\!U03D0" para que cuando lo ejecute, lo evalúe y devuelva beta. Sólo estoy tratando de pensar en cómo hacer esto como una fórmula de columna en lugar de un script JSL separado.
¡Gracias!,
DS
Re: Fórmula de columna para convertir Unicode a símboloO tal vez necesites algo como esto
txt = "038F";
code = Hex To Number( txt );
mat = J( 1, 1, code );
blob = Matrix To Blob( mat, "int", 2, "little" );
string = Blob To Char( blob, "utf-16" );
Show( string );
cadena = "Ώ";
que, si su navegador lo admite, se parece http://www.fileformat.info/info/unicode/char/038f/index.htm
El JSL anterior toma la representación hexadecimal imprimible en txt, obtiene el número, crea una matriz de 1 elemento (podría ser más si tiene más) para Matrix to Blob y usa el blob que contiene el número del carácter en UTF. 16 formulario para crear un carácter Unicode real.
O bien, puede poner el hexadecimal en una cadena JSL con \!U y analizarlo.
Re: Fórmula de columna para convertir Unicode a símboloalgo como
beta = "\!U0392";
theta = "\!U0398";
O tal vez
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
que hace
Table loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTabla cargada desde URL
Me gusta ese sitio para encontrar personajes; hacer la versión \!U de JMP a partir de la de ellos
http://www.fileformat.info/info/unicode/char/3b2/index.htm

Muestran U+0392, JMP usa \!U0392
Respuesta: +Re: Fórmula de columna para convertir Unicode a símboloOK, ¿ES esto?

¡Gracias!
Respuesta: +Re: Fórmula de columna para convertir Unicode a símboloParece correcto. Lo haría con la conversión de matriz a blob así.
linelength = 32; // break lines every 32 characters
mat = 0 :: 65535; // useful to start at 0, but null is a problem...
mat[1] = Hex To Number( "2400" ); // fixup null character
mat = Shape( mat, N Cols( mat ) / linelength ); // reshape to concatenate new lines
mat = mat || J( N Rows( mat ), 1, 10 ); // newlines(10 decimal is 0A hex) every linelength
blob = Matrix To Blob( mat, "int", 2, "little" ); // little endian 16 bit matches utf-16
string = Blob To Char( blob, "utf-16" ); // done!
Show( string );
Llegar
many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.¡Se eliminaron muchos caracteres de esta imagen! Usando el Bloc de notas y una fuente Notosans.
Respuesta: +Re: Fórmula de columna para convertir Unicode a símbolo¡Gracias Craig!
Respuesta: +Re: Fórmula de columna para convertir Unicode a símbolo¿Hay una mejor manera de organizar este formulario? Solicito sinceramente la ayuda y orientación de un experto.
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/mp/754705#M93693
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/m-p/754705#M93693
¡Gracias Craig!