Conversión de cadenas numéricasHola
Quisiera valores numéricos encubiertos en una fecha. Probé muchos de los scripts de muestra aquí, pero no funcionó.
Tengo 14 dígitos en una columna que debería transformarse, como 20200420221043. Quiero aaaa-mm-ddThh: mm: tipo ss. Por lo tanto, parece que 2020-04-20T22: 10: 43.
¿Algunas ideas?
Re: conversión de cadenas numéricas¿Es esto lo que estás buscando?
myS = "20200420221043";
datex = Informat(
Substr( myS, 1, 4 ) || "/" || Substr( myS, 5, 2 ) || "/" || Substr( myS, 7, 2 ) || " " ||
Substr( myS, 9, 2 ) || ":" || Substr( myS, 11, 2 ) || ":" || Substr( myS, 13, 2 ),
"y/m/d h:m:s"
);
Show( Format( datex, "yyyy-mm-ddThh:mm:ss" ) );
Format(datex, "yyyy-mm-ddThh:mm:ss") = "2020-04-20T22:10:43";
Re: conversión de cadenas numéricas @KrissKdash ,
En caso de que desee una columna que tenga una fecha numérica con formato, aquí hay un script para hacerlo. Crea una tabla de 1 columna. Extensible @txnelson Como solución, la columna de cadena se llama myS. El script crea una columna de fecha, myD. los esperar (2) Se agrega para un efecto dramático.
Solo un segundo enfoque.
Names Default to Here(1);
dt = New Table( "Test",
Add Rows( 3 ),
New Column( "myS",
Character,
"Nominal",
Set Values( {"20200420221053", "20200419112025", "20191225055920"} )
)
);
dt << New Column("myD", Numeric, Continuous);
Column(dt,"myD") << set each value(Informat(substr(:myS,1,8), "YYYYMMDD") + num(Substr(:myS,9,2))*60*60
+ num(substr(:myS,11,2))*60 + num(substr(:myS,13,2)) );
wait(2);
:myD << Format("yyyy-mm-ddThh:mm:ss", 19, 0);
Re: conversión de cadenas numéricasHola,
Hay un complemento para exactamente este tipo de problema. Encuentre el complemento y una descripción de cómo usarlo, aquí: Herramientas de tabla de datos, parte 1: Escritor de fórmulas de fecha personalizada
Después de abrir el archivo de complemento para instalarlo, se ubicará en la sección "Complementos" del menú principal de JMP. Seleccione: Complementos> Herramientas de tabla de datos> Columnas de fórmulas especiales> Escritor de fórmulas de fechas personalizadas.
En la ventana principal del Formula Writer, seleccione su tabla de datos y columna de datos de origen; asegúrese de configurar sus datos en caracteres y tipos nominales.
Luego, complete el resto del cuadro de diálogo como se muestra a continuación, asegurándose de colocar marcas de verificación al principio y al final de todos los campos de interés. (Al hacer clic se activan y desactivan las marcas).
Haga clic en "Crear columna de fórmula" y listo. (Ejemplo de la fórmula auto escrita a continuación). Tenga en cuenta que hay ceros y llaves vacías en varios lugares, que representan opciones que no se utilizaron en la fórmula actual. Esto es según lo previsto.
Salud,
Brady

Try(
{};
YearChoice = 1;
{};
{};
Date MDY(
Num( Substr( :DateStr, 5, 2 ) ),
Num( Substr( :DateStr, 7, 2 ) ),
Num( Substr( :DateStr, 1, 4 ) ) + 0
) + Num( Substr( :DateStr, 13, 2 ) ) + Num( Substr( :DateStr, 11, 2 ) ) * 60 + (
Num( Substr( :DateStr, 9, 2 ) ) + 0) * 3600 + If( Num( Substr( :DateStr, 9, 2 ) ) < 12,
0,
0
);
)
Re: conversión de cadenas numéricasHola @KrissKdash ,
Además, asegúrese de ver el video El médico cura sus problemas de importación de fecha y hora.
En este segmento que se emitió recientemente @brady_brady demuestra paso a paso cómo resolver este tipo de problemas de fecha.
salud,
Stan
Re: conversión de cadenas numéricasGran referencia también.
Re: conversión de cadenas numéricasNecesito marcar esto. Gracias.Re: conversión de cadenas numéricasGran referenciaRe: conversión de cadenas numéricasProbé este script y funcionó bien.
Especialmente, 'wait ()' me hace divertido.