cambiar formato de fechaHola,
Recibí una hoja de datos .xlsx con la siguiente fecha "dd.mm.yy" en una columna, es decir, "03.10.14".
Después de copiar los datos en JMP, creé una nueva columna para obtener el número numérico de la fecha y convertí la fecha en 1. un tipo de fecha numérica con
2. un tipo de modelado ordinal y
3. formatee a "aaaa-mm-dd".
Sin embargo, algunas fechas "20.10.15" no aparecen en mi nueva columna. ¿Existe un conflicto de definición?
Por favor, indique cómo puedo superar este problema.
Re: cambiar formato de fechaVeo el paso que era necesario para completar la conversión.
Problema resuelto. ¡Gracias!Re: cambiar formato de fechaTu problema es que estás leyendo mal el campo de fecha inicial.El campo de fecha inicial tiene el formato "dd.mm.aa" y estás leyéndolo como si fuera "mm.dd.aa".He adjuntado su tabla de datos donde se puede ver que el valor de numdate no coincide con su valor de newdate.En la tabla de datos, he creado una columna Fecha de carácter, que utiliza una función format() en la fórmula para obtener el valor del carácter.
Re: cambiar formato de fechaGracias por su amplia respuesta.
Trabajé en la hoja de datos y convertí la "fecha del carácter" en una fecha numérica, columna "numdate". Luego convertí la fecha numérica al formato que quería, columna "nueva fecha". Sin embargo, por alguna razón, la nueva fecha no se muestra en algunas fechas indicadas en la columna "fecha". ¿Por qué no toma ciertas fechas, es decir, 12.11.14 y convierte el valor de numdate al nuevo formato?
Adjunté una tabla jmp con los datos para que puedas ver los datos. Espero que esto pueda ayudar a resolver el problema.
Gracias de antemano, marc.
<SPAN class="token function">Date DMY</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Left</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Substr</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"20"</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">Right</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
Re: cambiar formato de fechaMe parece que sus respuestas y su pregunta no comprenden cómo maneja JMP los valores de fecha.JMP maneja fechas y horas, utilizando un valor numérico que es igual al número de segundos desde la medianoche del 1 de enero de 1904.La forma en que JMP convierte esto en una de las visualizaciones del 09 de febrero de 2015, o 09/02/2015, etc. es establecer un formato JMP en la columna que tiene los valores numéricos.
Por lo tanto, si tiene una columna de caracteres, llamada "Fecha", con valores como "25.04.15" y desea convertirla en un valor de Fecha JMP, puede crear una nueva columna y, si aplica la siguiente fórmula,
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
tomará el valor del carácter de "25.04.15" y convertirlo en 3512764800 . Este es el número de segundos desde la medianoche del 1 de enero de 1904 hasta la medianoche del 25 de abril de 2015. Ahora lo que falta es que no desea que los datos se muestren en el número de segundos.Lo que desea es que el valor se muestre en la tabla de datos y en sus informes el 25 de abril de 2015. Para hacer esto, simplemente establezca el formato de la columna en "aaaa-mm-dd".La ventaja de almacenar fechas en esta forma numérica es que luego se pueden ordenar los datos por fecha, y se pueden sumar y restar los valores, o incluso calcular la fecha media, etc.
A continuación se muestra un pequeño script que, cuando lo ejecute, creará una tabla de datos con una columna de un solo carácter que tiene la estructura de dd.mm.aa.Luego, el script crea una columna numérica de fecha JMP que cambia la estructura de visualización a aaaa-mm-dd. Luego, la tira continúa y crea una columna de caracteres, que manipula el valor de las columnas de fecha de caracteres en una nueva cadena de caracteres de la estructura "aaa-mm-dd".
Names Default To Here( 1 );
// Create a beginning data table
dt = New Table( "Dates",
New Column( "Date",
Character,
ordinal,
Values( {"25.04.15", "22.09.15", "03.11.15"} )
)
);
// Create a new numeric column that contains a JMP date value
// and tell JMP to format the numeric value using a
// yyy-mm-dd structure
dt << New Column( "Numeric Date",
formula(
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
),
format("yyyy-mm-dd")
);
// Create a new character column that rearanges the data from
// from the character column "Date"
dt << New Column( "Character Date",
character,
formula(
"20" || Right( Char( :Date ), 2 ) || "-" ||
Substr( Char( :Date ), 4, 2 ) || "-" || Left( Char( :Date ), 2 )
)
);Re: cambiar formato de fecha

Re: cambiar formato de fecha1. columna de fecha original: carácter, ordinal
2. dd.mm.aaaa
Sin profundizar más en cambiar la columna de caracteres, creo que la fórmula la formateó automáticamente en caracteres, porque no puedo cambiar a otro tipo de datos/tipo de modelado sin tener nuevamente una columna nueva y vacía.
Re: cambiar formato de fechaEstoy seguro de que se puede generar una estructura de fecha de caracteres de este tipo.Tengo un par de preguntas.
- ¿Cuál es el formato de la columna original?
- Numérico/Carácter
- Si es Personaje, ¿cuál es su estructura, 20JUL2019 o 20/07/2019, o qué?
- ¿Por qué necesita que la nueva columna sea una columna de caracteres?
Re: cambiar formato de fechaJim,
Un punto más menor pero importante, ¿es posible que cuando uso el tipo de datos "char" no pueda obtener una fecha de salida numérica como aaaa-mm-dd? Intenté establecer otra columna para cambiar de la nueva columna con una fecha de carácter a una salida como se mencionó anteriormente, pero no pude crearla.
¡Avíseme si tiene una solución adicional!
Gracias,
Bagazo
Re: cambiar formato de fechaHola Jim,
¡Funcionó! ¡Gracias! ¡Lo único que tuve que hacer fue eliminar DMY de la fórmula!
Impresionante.
Gracias de nuevo,
Bagazo
Re: cambiar formato de fechaAquí hay una manera sencilla de hacer lo que necesita y que asegurará que se seleccionen las partes adecuadas de la columna ingresada para el día, mes y año.
Introduce tus datos
Cree una nueva columna numérica y especifique en Información de columna usar el formato de fecha que desee.
Utilice la siguiente fórmula en la columna para convertir los datos de su columna original en una columna de fecha numérica JMP.
Date DMY(
Num( Left( Char( :yourcolname ), 2 ) ),
Num( Substr( Char( :yourcolname ), 4, 2 ) ),
Num( "20" || Right( Char( :yourcolname ), 2 ) )
)
Re: cambiar formato de fechaHola Jim,
Nunca pensé que podría abrir un archivo xlsx directamente en JMP, lo intenté y no pude abrirlo.
La columna "fecha" es un carácter/ordinal. En la nueva columna la cambié a numérica/ordinal y la formateé en aaaa-mm-dd. El cambio a numérico resultó en el valor numérico, que luego formateé en aaaa-mm-dd.
¿Qué tengo que hacer para cambiar JMP pensando que es un valor cadena = mes?
Gracias por su apoyo,
Bagazo
Re: cambiar formato de fechaTengo algunas preguntas:
- ¿Cómo se ingresan los datos xlsx en JMP?Dices "Después de copiar".¿Es esto copiar y pegar en la nueva tabla de datos JMP?¿Has probado simplemente Archivo==>Abrir y luego apuntar al archivo xlsx y abrirlo de esa manera?
- Una vez que haya "copiado" los datos en JMP, ¿cuál es el tipo de datos de la columna que contiene los datos "03.10.14"?
- Suponiendo que los datos "03.10.14" tienen un tipo de datos de carácter, ¿cuáles son los pasos que está utilizando en la nueva columna para convertirlos a un tipo de datos numéricos?
Sospecho que su problema con los valores "20.10.15" es que de alguna manera JMP piensa que los primeros valores de la cadena son el valor del mes y no el valor del día.