Fórmula para extraer la fecha de la columna de caracteres<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, uso SAS EG y JMP. En el pasado, usaba Base SAS para PC. Estoy frustrado por cómo las tareas aparentemente simples no tienen soluciones simples en JMP. Ahora, por ejemplo, vea la tabla jmp adjunta que contiene una columna con datos de caracteres. Necesito crear una columna con las fechas como una variable numérica. En SAS escribiría:
fecha=entrada(substr("Columna 1",1,10),ddmmaa10.);
pero cuál debería ser la fórmula para una nueva columna para esto.
Lamento tener que hacer preguntas tan simples, pero. . .
gracias de antemano
Poul Ravn Sorensen
Re: Fórmula para extraer la fecha de la columna de caracteresEl ejemplo de PMroz tampoco funcionó en mi PC (JMP 9.0.3, Win XP). Sin embargo, la fórmula date4 de MS funciona. La sugerencia de Jeff Perkinson de hacerlo en la tabla en sí va en contra de la idea de hacerlo en el scripting. Prefiero tener una 'caja de herramientas' de fórmulas que haga este tipo de cosas, así no tengo que recordar cómo hacerlo cada vez que tengo una tabla.
Gracias a todos
poul
Re: Fórmula para extraer la fecha de la columna de caracteresResulta que el segundo argumento de Informat() es opcional. Sin él, JMP examinará el primer argumento e intentará descubrir el formato por sí mismo.
Con este ejemplo, JMP reconoció las fechas con los puntos como delimitadores de fecha.
t = "12.10.2012 10:22:31" ;
fecha1 = Informat ( t ) ;
Espectáculo ( fecha1 ) ;
/*:
fecha1 = 10 de diciembre de 2012: 10:22:31;
Volviendo a la pregunta original, cambiaría el tipo de datos de la columna de Carácter a Numérico usando el Formato y el Formato de entrada para convertir automáticamente los valores a valores de fecha y hora JMP.

Luego, si desea solo la parte de la fecha del valor de fecha y hora, puede restar la hora del día:
:Columna 1 - Hora del día ( :Columna 1 )
-Jeff
Re: Fórmula para extraer la fecha de la columna de caracteresLos formatos de fecha o fecha/hora que reconoce JMP parecen diferir entre las localizaciones (de JMP o del sistema operativo). Por ejemplo, los formatos con "/" y ":" como en el ejemplo de PMros, no funcionan en mi computadora (inglés JMP10, sueco Mac OS X).
Los siguientes ejemplos ilustran algunas de las advertencias. El primero no se reconoce, mientras que el segundo con guiones y puntos funciona como se esperaba (pero aquí requiere un "doble sustituto").
Los ejemplos tercero y cuarto ilustran la posible ambigüedad de la fecha: sin un argumento de formato, JMP asume m/d/y, que puede o no ser incorrecto según la fuente de datos.
¿Cuál es la mejor práctica de secuencias de comandos para lidiar con este lío de formato de fecha?
t = "12.10.2012 10:22:31" ;
fecha1 = Informat ( Sustituto ( t , "." , "/" ) , "d/m/a:m:s" ) ;
fecha2 = Informat ( Sustituto ( Sustituto ( t , "." , "-" ) , ":" , "." ) , "dmi hms" ) ;
fecha3 = Informat ( Sust. ( Sustituto ( t , "." , "-" ) , 1 , 10 ) , ) ;
fecha4 = Informat ( Sust. ( Sustituto ( t , "." , "-" ) , 1 , 10 ) , "dmi" ) ;
Espectáculo ( fecha1 , fecha2 , fecha3 , fecha4 ) ;
/*:
fecha1 = .;
fecha2 = 12 de octubre de 2012: 10:22:31;
fecha3 = 10 de diciembre de 2012;
fecha4 = 12 de octubre de 2012;
Re: Fórmula para extraer la fecha de la columna de caracteresUtilice la función de información en una columna de fórmula.El truco es cambiar el formato de fecha a uno que JMP reconozca, cambiando el " . "caracteres a" / ".
dt = Nueva tabla ( "fecha como datos de cadena" ,
Agregar filas ( 10 ) ,
Nueva columna ( "Columna 1" ,
Personaje ,
Nominal ,
Establecer valores (
{ "19.10.2012 14:26:49" , "15.10.2012 9:28:57" , "15.10.2012 9:22:13" ,
"09.10.2012 11:15:18" , "09.10.2012 11:07:14" , "28.09.2012 15:30:41" ,
"28.09.2012 13:00:18" , "27.09.2012 15:43:07" , "27.09.2012 15:42:16" ,
"27.09.2012 15:41:12" }
)
)
) ;
dt << Nueva columna ( "Columna 2" ,
Numérico ,
Continuo ,
Formato ( "d/m/a:m:s" , 22 , 0 ) ,
Formato de entrada ( "d/m/a:m:s" , 0 ) ,
Fórmula (
Informat ( Sustituto ( : columna 1 , "." , "/" ) , "d/m/a:m:s" ) ;
) ,
) ;