타임스탬프의 차이를 스크립팅하는 방법여러분 안녕하세요,
사용자의 누락된 데이터를 확인하는 스크립트를 작성 중입니다. 5분마다 데이터를 기록합니다. 2개의 타임스탬프 간의 차이가 5분보다 크면 해당 기간 동안 누락된 데이터가 있는 것으로 정의합니다.그리고 내 데이터 테이블의 시간 형식은 다음과 같습니다.
2018-07-09 00:58:07.7030000
2018-07-09 00:58:07.7030000
2018-07-09 00:58:07.7030000
5분 이상의 타임스탬프가 있는 셀을 선택하기 위해 스크립트를 작성하는 방법을 아는 사람이 있습니까?
정말 감사합니다,
위니
Re: 타임스탬프의 차이를 스크립팅하는 방법안녕하세요 Jim, 문제를 파악했습니다. 다시 한 번 정말 감사합니다!
Re: 타임스탬프의 차이를 스크립팅하는 방법귀하가 제공한 세부 사항을 고려할 때 이것이 귀하에게 좋은 솔루션이 될 수 있다고 생각합니다.
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: 타임스탬프의 차이를 스크립팅하는 방법안녕하세요 짐,
답장해주셔서 감사합니다. 제안에 따라 변경했습니다. 내 스크립트가 아래에 표시됩니다.
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"
);
데이터 유형과 형식이 성공적으로 변경되었지만 dataGood을 확인하는 방법이 헷갈립니다. dataGood에 대한 새 열을 생성해야 합니까?
정말 감사합니다!
Re: 타임스탬프의 차이를 스크립팅하는 방법날짜 열이 숫자 JMP 날짜/시간 값이 아닌 것 같습니다.문자 열인 것 같습니다.따라서 가장 먼저 해야 할 일은 JMP 날짜/시간 열로 변환하는 것입니다.이 작업이 완료되면 값 간의 차이를 확인하는 방법은 Lag() 함수와 함께 Date Difference() 함수를 사용하는 것입니다.
If(Date Difference( lag(:DateTime),:DateTime,"Minute)>5,dataGood="Missing Data",dataGood="No Missing Data");