xls 또는 xlsx, csv 및 JMP의 시간 값안녕하세요, 제 엑셀의 시간 값에 이상한 문제가 있습니다. 일부 데이터(예제는 여기에 Excel 파일로 첨부됨)가 있고, 시간 열은 저에게 관심이 있으며 날짜 및 시간 열을 함께 추가하여 날짜 시간 열을 생성합니다. 데이터를 분석하기 위해 JMP를 사용하므로 Excel 파일을 가져옵니다.
그러나 나는 여러 가지 이상한 점에 부딪쳤습니다.
1. 여러 파일을 가져올 때(고객의 데이터를 분석하기 위해) 시간 값(초 단위)은 음수이고 형식을 mm:dd:yyyy hh:mm로 변경한 1899년부터 시작됩니다. :봄 여름 시즌. 파일을 CSV로 다시 저장한 다음 JMP로 다시 열면 시간 값이 정확합니다(원본 Excel 파일에 나열된 대로).
2. Excel 파일 형식을 CSV로 변경하면 JMP로 가져온 시간 값이 정확합니다. xls 또는 xlsx인 파일의 경우 CSV로 변경해야 합니다. 왜 그런 겁니까?
아래는 현재 진행 중인 일과 원하는 날짜-시간 형식을 만드는 두 가지 솔루션에 도달한 방법에 대한 내 생각에 대한 메모입니다.
"끔찍한 공식" 열에서 볼 수 있듯이 해결 방법으로 몇 가지 작업을 수행해야 했습니다.
- 날짜와 시간을 문자열로 변환한 다음 두 열을 연결합니다. 속성을 복사하고 새 열에 붙여넣은 다음 형식을 다시 숫자로 변경합니다. 그러나 이것이 항상 작동하는 것은 아닙니다!
- Second() 함수는 음수 값을 추출했고... 그리고 Second()만 추출했는데 흥미롭습니다.공식은 아래
- 정보(
문자( 형식( :날짜, "mm/dd/yyyy" ) ) || " " ||
Char( Hour( :Time, 24 ) ) || ":" || 문자( 분( :시간 ) ) ||
":" || 문자( 60 + 초( :시간 ) ),
"mm/dd/yyyy HH:mm:ss"
)
그러나 두 솔루션 모두 약간 힘들게 보입니다(JMP로 가져온 Excel을 CSV로 저장한 다음 JMP로 다시 여는 것 외에). 시간 값을 더 빨리 수정하는 다른 방법이 있습니까? 자동화? Excel 파일을 JMP로 가져오는 동안?
해석학데이터 테이블스크립팅Re: xls 또는 xlsx, csv 및 JMP의 시간 값보정:
아래는 현재 진행 중인 일과 원하는 날짜-시간 형식을 만드는 두 가지 솔루션에 도달한 방법에 대한 내 생각에 대한 메모입니다.
1. 날짜와 시간을 문자열로 변환한 다음 두 열을 연결합니다. 속성을 복사하고 새 열에 붙여넣은 다음 형식을 다시 숫자로 변경합니다. 그러나 이것이 항상 작동하는 것은 아닙니다!
2. Second() 함수는 음수 값을 추출했습니다... 그리고 Second()만 추출했는데 흥미롭습니다.공식은 아래
정보(
문자( 형식( :날짜, "mm/dd/yyyy" ) ) || " " ||
Char( Hour( :Time, 24 ) ) || ":" || 문자( 분( :시간 ) ) ||
":" || 문자( 60 + 초( :시간 ) ),
"mm/dd/yyyy HH:mm:ss"
)
Re: xls 또는 xlsx, csv 및 JMP의 시간 값첨부하신 엑셀 파일이 맞는지 확인하셨나요?통합 문서에는 내부 회의에 대한 정보가 포함된 파일이 포함되어 있습니다.
Re: xls 또는 xlsx, csv 및 JMP의 시간 값원본 게시물에 첨부된 것은 무시하고 예시로 사용하세요. 잡아주셔서 감사합니다.
Re: xls 또는 xlsx, csv 및 JMP의 시간 값Excel 파일을 JMP로 직접 열고 마법사를 사용하여 데이터 머리글이 6행에 있고 데이터가 7행에 시작되었음을 표시했습니다.다음 JSL을 생성했습니다.
Open(
"$DOCUMENTS/Discussion Group/Time_issue_7Sep (2).xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
Column Numeric Format(
Index( 2 ),
Column Name( Variable 1 ),
Format( "Best", 9 )
),
Column Numeric Format(
Index( 3 ),
Column Name( Variable 2 ),
Format( "Best", 9 )
)
)
)
날짜 및 시간 필드는 모두 올바른 날짜 및 시간 JMP 값으로 읽습니다.그럼 내가 할 수 있는 모든 실행
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row( :Date = :Date + :time );
여러 파일 가져오기가 행 오프셋을 처리하여 행 6의 헤더와 행 7에서 시작하는 데이터를 제대로 읽을 수 없는 것 같습니다.
위의 입력 코드를 사용하여 각 파일에서 읽을 JSL 루프를 만드는 것이 좋습니다.
Re: xls 또는 xlsx, csv 및 JMP의 시간 값그것은 매우 관심이 있습니다. 마법사로 열었지만 소스의 스크립트가 당신의 것과 다릅니다.
Open(
"C:\Users\liew-6\OneDrive - Mettler Toledo LLC\Desktop\JMP\Time_issue_7Sep.xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
)
그리고 내 시간의 형식을 '최고'로 변경하면 음수 값으로 표시됩니다. 여기에 첨부했습니다.