테이블 변환 및 타임스탬프 변환을 도와주시겠습니까?그래서 올바른 형식을 지정하는 방법을 잘 모르는 센서의 데이터 테이블이 있습니다. 전압 판독 값을 출력하는 광 센서입니다.
표의 첫 번째 열은 측정된 파장이며 데이터를 측정할 때마다 100개 이상의 열이 있습니다.
이것을 올바르게 변환하거나 피벗하려면 어떻게 해야 합니까? Table Transpose만 올바른 활동일까요?
다음으로 원시 타임스탬프를 사용 가능한 시계열로 변환하는 방법에 대한 조언입니다. 이런 모습으로 나옵니다.
DD-MM-YYYYTHH:MM:SS.###Z
이것을 사용 가능한 시계열 값으로 변환하여 x축으로 플롯하려면 어떻게 해야 합니까? 1000분의 1초 단위로 0.1초씩 증가합니다.
보너스, 최소값과 최대값을 찾고 시간을 0-->최대로 정규화하려면 어떻게 해야 합니까?
...
14-07-2020T22:47:31.400Z
14-07-2020T22:47:31.500Z
14-07-2020T22:47:31.600Z
14-07-2020T22:47:31.700Z
14-07-2020T22:47:31.800Z
14-07-2020T22:47:31.900Z
...
데이터 혼합 및 정리Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?감사합니다 제프. 최종 방정식에 대한 귀하의 의견은 훌륭하고 자정을 넘는 실행에 대한 걱정을 제거합니다.
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?
@aligner1 쓴 :
타임스탬프에 대한 질문: 이것을 원시 시간 기간으로 변환하려면 어떻게 해야 합니까? "Date Difference" 공식이 있는 것을 볼 수 있지만 두 개의 열이 필요한 것 같습니다. 이것을 0.000s --> 최대 시간에서 시작하는 시계열로 만들려면 어떻게 해야 합니까?
더 나아가기 전에 여기서 이 질문을 명확히 할 필요가 있다고 생각합니다.@txnelson datetime 값의 날짜 부분을 제거하려는 것으로 해석했습니다. 나는 그것이 당신이 원하는 것이라고 생각하지 않습니다.
이제 열이 있습니다. 날짜 시간 값 . 해당 열은 시계열로 사용할 수 있으며 0에서 시작하지 않습니다.
대신 간단한 뺄셈과 행 첨자 .

여기서 몇 가지 지적할 사항이 있습니다.
- 첫 번째 행에서 값은 0으로 설정됩니다.
- 초 단위의 값에 관심이 있기 때문에 Date Difference() 함수를 사용할 필요가 없습니다. 따라서 간단한 빼기가 작동합니다.
- 때문에 부동 소수점 산술 이 값의 차이는 정확히 10분의 1초가 아닙니다. 저는 이 열을 10분의 1초 단위로 표시하도록 형식을 지정했습니다. 즉, 소수점 이하 1자리의 고정 12월입니다.
- 마지막으로, 아마도 더 복잡한 것은 원래 질문에 여러 파장이 있다고 말한 것입니다. 각 파장에 대해 이 시간 순서를 0에서 다시 시작하시겠습니까? 그렇다면 문제가 되지 않습니다. 수식을 몇 가지만 변경하면 됩니다.

- 이제 수식이 행 1을 확인합니다. 또는 람다 값이 이전 람다와 다른 경우( 지연() 함수 ) 시퀀스를 0으로 설정합니다.
- 또한 Lag()를 사용하여 이전 행의 시퀀스 값을 가져오고 현재 행과 이전 행 간의 시간 값 차이를 추가합니다.
이것이 명확하고 좋은 방향을 제시하는 데 도움이 되기를 바랍니다.
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?당신이 묻는 질문을 감안할 때, 나의 첫 번째 대답은 당신이 약간의 독서를 할 필요가 있다는 것입니다.JMP 발견 문서와 JMP 사용 문서를 모두 검토해야 합니다.둘 다 JMP 문서 라이브러리의 도움말 풀다운 메뉴에서 사용할 수 있습니다.
하루 오버플로 문제에 관해서는.... 당신이 해야 할 일은 Date Difference()가 0일보다 큰지 확인하고 그렇지 않은 경우 필요한 시간을 계산하는 것입니다.
Lamda는 문자로 변경할 필요가 없습니다.그러나 데이터 유형을 변경하면 쉽게 수행할 수 있습니다.또는 단순히 모델링 유형을 순서 또는 명목으로 변경할 수 있습니다.
:Lamda << Data Type(character);
// or
:Lamda<<MODELING type=""></MODELING>
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?굉장한 짐!
귀하의 생각을 확인하기 위한 몇 가지 질문:
- 자정을 넘어 다음 날까지 계속되는 런닝을 방지하는 방법은 무엇입니까? Time of Day를 사용하여 absoluteTime을 얻거나 0에서 시작하도록 정규화하는 것은 2일에 걸친 실행의 영향을 받습니다.
- Lambda 열을 문자 열로 변환하는 것에 대한 생각은? 본질적으로 레이블이므로 숫자가 아니어야 합니다. 맞습니까? 여러 파장에서 측정한 다음 데이터 v 시간을 플로팅합니다.
- 새로 생성된 데이터 테이블에 원본 파일을 포함하려면 어떻게 해야 합니까? 초기 dt = -->를 파일 열기 대화 상자로 변경했습니다.

Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?다음은 데이터를 분석 형식으로 가져오는 데 도움이 되는 작은 스크립트입니다. 샘플 데이터 테이블을 사용하여 다음을 생성합니다.

names default to here(1);
dt=current data table();
// Get the column names from the data table
colNames = dt << get column names;
// Remove Lamda from the list
remove from(colNames,1,1);
// Stack the data
dtStack = dt << Stack(
columns(
colNames
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked" )
);
// Create a new JMP DateTime column
dtStack << New Column( "Timestamp",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :Label, "Z" ), "d/m/y h:m:s" ) )
);
// Remove formula to convert column to static values
dtStack:Timestamp << delete formula;
// Create the Time variable
dtstack << New Column( "Time",
Numeric,
"Continuous",
Format( "hr:m:s", 17, 3 ),
Input Format( "hr:m:s", 0 ),
Formula( Time Of Day( :Timestamp ) )
);
// Get rid of no longer needed "Label" column
dtStack << delete columns( "Label" );
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?첨부된 하위 세트(사전 스택)를 참조하십시오.
시간을 알지만 자정에 실행이 발생하고 날짜가 변경되는 조건에 대해 보호해야 합니까? 나는 [time of day() - col minimum(time of day())
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?타임 스탬프(JMP 날짜/시간) 열을 시간 값으로 변환하려면 Time of Day() 함수를 사용합니다. 이전 자정부터 측정 시간까지의 초 수를 효과적으로 반환합니다.
열 이름이 날마다 변경될 때 쌓이는 것과 관련하여...데이터 테이블에서 열 목록을 가져온 다음 해당 목록을 Stack Platform 문에 적용하는 것은 간단한 문제입니다. 열 이름을 검색하기 위해 데이터 테이블에 전달할 메시지는 dt << get column names()입니다.
샘플 데이터 표 또는 데이터 스프레드시트를 첨부할 수 있습니까? 입력 데이터의 세부 사항을 확인하는 것은 매우 어려우며 잘못된 방향으로 전달될 수 있습니다.Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?Jim과 Jeff에게 감사합니다. 훌륭하게 작동합니다! 저는 지금 word()를 읽고 있습니다.
타임스탬프에 대한 질문: 이것을 원시 시간 기간으로 변환하려면 어떻게 해야 합니까? "Date Difference" 공식이 있는 것을 볼 수 있지만 두 개의 열이 필요한 것 같습니다. 이것을 0.000s --> 최대 시간에서 시작하는 시계열로 만들려면 어떻게 해야 합니까?
스택 명령 스크립팅에 대한 질문: 스크립트를 보면 모든 열에 대해 고유한 행이 있습니다....다음에 이 데이터 파일을 가져올 때 이를 동적으로 만드는 방법은 무엇입니까?
Data Table( "Sheet1" ) << Stack(
columns(
:Name( "14-07-2020T22:47:31.400Z" ),
:Name( "14-07-2020T22:47:31.500Z" ),
:Name( "14-07-2020T22:47:31.600Z" ),
....for every column...
),
Source Label Column( "TimeStamp" ),
Stacked Data Column( "data" ),
Output Table( "sensor table" )
)
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?제프,
내 나이가 보여.
Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?귀하의 데이터와 관련하여 Stacking the columns을 조사하는 것이 좋습니다.이 양식은 분석을 위한 더 많은 JMP 도구를 제공합니다.
귀하의 타임스탬프 문제와 관련하여....다음은 "TS"라는 입력 열을 가져와 JMP 날짜/시간 열로 변환하는 예제 스크립트입니다.
Names default to here(1);
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "TS",
Character,
"Nominal",
Set Values(
{"14-07-2020T22:47:31.400Z", "14-07-2020T22:47:31.500Z",
"14-07-2020T22:47:31.600Z", "14-07-2020T22:47:31.700Z",
"14-07-2020T22:47:31.800Z", "14-07-2020T22:47:31.900Z"}
)
)
);
dt << New Column( "Column 2",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :TS, "Z" ), "d/m/y h:m:s" ) )
);Re: 테이블 변환 및 타임스탬프 변환에 도움이 되셨나요?나는 당신이 필요한 전부라고 생각합니다 테이블->스택 Stack Columns 역할에 시간 열을 배치합니다.
파장과 시간이라는 두 개의 열로 끝나야 합니다.
타임스탬프를 JMP datetime 열로 변환하는 경우, 단어() 그리고 정보() 여기로 이동합니다:

추가 정보:
수식편집기 함수 하나만 배운다면 워드()가
JMP에서 날짜, 시간, 날짜시간 및 기간 사용