Cómo escribir la diferencia entre la marca de tiempoHola a todos,
Estoy trabajando en un script que verifica los datos que faltan para los usuarios. Registramos datos cada 5 minutos. Si la diferencia entre 2 marcas de tiempo es mayor a 5 minutos, definimos que faltan datos para ese período de tiempo.Y el formato de la hora en mi tabla de datos se ve así:
2018-07-09 00:58:07.7030000
2018-07-09 00:58:07.7030000
2018-07-09 00:58:07.7030000
¿Alguien sabe cómo debo hacer un script para seleccionar la celda que tiene marcas de tiempo de más de 5 minutos?
Muchas gracias,
Winnie
Re: Cómo programar la diferencia entre la marca de tiempoHola Jim, he descubierto los problemas. ¡Muchas gracias de nuevo!
Re: Cómo programar la diferencia entre la marca de tiempoTeniendo en cuenta los detalles que proporcionó, creo que esta podría ser una buena solución para usted.
dt2:ReadTime << Data Type( Numeric ) << Set Modeling Type( Continuous )
<< Format( "yyyy-mm-ddThh:mm:ss", 19 );
dt2 << New Column( "Missing Data?",
character,
formula(
If( Date Difference( Lag( :ReadTime ), :ReadTime, "Minute" ) > 5,
"Missing Data",
"No Missing Data"
)
)
);
Re: Cómo programar la diferencia entre la marca de tiempoHola Jim,
Muchas gracias por su respuesta. He hecho cambios basados en tu sugerencia. Mi script se muestra a continuación:
dt2:ReadTime << Data Type( Numeric ) << Set Modeling Type( Continuous ) << Format( "yyyy-mm-ddThh:mm:ss", 19 );
If( Date Difference( Lag( :ReadTime ), :ReadTime, "mm" ) > 5,
dataGood = "Missing Data",
dataGood = "No Missing Data"
);
El tipo de datos y el formato se cambiaron con éxito, sin embargo, estoy confundido acerca de cómo verificar dataGood. ¿Necesito crear una nueva columna para dataGood?
¡Muchas gracias!
Re: Cómo programar la diferencia entre la marca de tiempoParece que su columna de fecha no es un valor numérico de fecha/hora JMP.Parece que es una columna de caracteres.Entonces, lo primero que debe hacer es convertirlo en una columna de fecha/hora de JMP.Una vez hecho esto, la forma de verificar si la diferencia entre los valores es usar la función Diferencia de fecha () junto con una función Lag ().
If(Date Difference( lag(:DateTime),:DateTime,"Minute)>5,dataGood="Missing Data",dataGood="No Missing Data");