<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo un problema en el que frecuentemente importo archivos de texto que tienen un campo numérico largo, como "datetime" en forma de "20141214115959", y JMP lo sigue mostrando como un número truncado en notación científica como "2.0141e + 13 ". Para hacer que el número se muestre correctamente, debo ingresar manualmente a la configuración de la columna y aumentar el ancho; el ancho del campo automático es siempre 10 al importar el archivo de texto. Pero JMP tiene una preferencia de programa para "Ancho de campo predeterminado", que también intenté configurar, pero JMP ni siquiera respeta esta configuración con el propósito de importar archivos de texto. El "Ancho de campo predeterminado" solo se respeta si hago una nueva columna en una tabla JMP.
Esto tiene que ser un error, ¿verdad? ¿Por qué diablos está escrito el software para que el ancho de campo predeterminado al importar un archivo siempre tenga un código de codificación duro de 10 y no use la preferencia? ¿Hay alguna otra forma en la que pueda configurar correctamente el ancho del campo sin tener que editar las columnas manualmente después de la importación?
MS Excel tiene el mismo problema, y hubiera esperado que JMP lo hiciera mejor, pero creo que ese no es el caso.
Su ejemplo es un entero codificado por el usuario que JMP no reconoce como un punto en el tiempo. Puede importar este valor como una cadena de caracteres y luego usar las funciones JSL en la fórmula de una nueva columna de datos numéricos para analizarlo en un valor de fecha y hora JMP. JMP representa cualquier punto en el tiempo como el número de segundos desde la medianoche del 1 de enero de 1904. Puede usar el formato de columna para mostrar este valor de una manera más amigable, como "m / d / yh: m: s" o cualquier otro formato que se adapte a usted.
Este script prototipo podría convertirse en una fórmula de columna:
// tu número largo de ejemplo, que representa un punto en el tiempo
fecha y hora = "20141214115959";
// convertir a tiempo JMP analizando el valor de la cadena de caracteres
fecha hora = Fecha MDY (
Num (Sustr. (Fecha y hora, 5, 2)),
Num (Substr (fecha y hora, 7, 2)),
Num (Sustr. (Fecha y hora, 1, 4))
) +
// añadir horas
En horas(
Num (Substr (fecha y hora, 9, 2))
) +
// añadir minutos
En minutos(
Num (Sustr. (Fecha y hora, 11, 2))
) +
// agregar segundos
Num (Sustr. (Fecha y hora, 13, 2));
// ahora formato número de segundos en forma fácil de usar
Formato (fecha y hora, "m / d / yh: m: s");
Esto parece un descuido. Lo anotaré y veré si podemos solucionarlo en una versión futura.
Mientras tanto, el script a continuación cambiará el ancho de campo de todas las columnas seleccionadas en la tabla de datos actual a 20.
cols = current data table() << Get Selected Columns;
for (i=1, i<=nitems(cols), i++,
column(cols[i])<<set field width(20);
);
Podría hacer un menú personalizado o un botón de la barra de herramientas para hacer esto.
-Jeff