표 끝까지 이어지는 시퀀스를 창의적으로 표현해야 합니다.안녕하세요,
제가 겪고 있는 특정 문제에 대한 좋은 해결책이 있을지 잘 모르겠지만, 전문가의 의견을 들어보고 싶습니다...
JMP 17을 사용할 때, 저는 종종 기존 파일에 새 데이터를 추가합니다. 각 행에는 고유한 "배치 번호"가 할당됩니다. 새 데이터 세트를 받으면 기존 파일에 추가해야 할 새 배치 번호가 있습니다. 지금까지 가장 쉬운 방법은 새 배치 번호를 마스터 파일에 복사하고 테이블 업데이트 기능을 실행하여 필요한 모든 데이터를 가져오는 것이었지만, "데이터 처리" 시간을 줄이기 위해 더 자동화된 방식으로 이 작업을 수행하는 옵션을 찾고 있습니다.
기본적으로 중요한 것은, 아래 방법 중 하나를 사용해야 하는 건지, 아니면 JSL을 통해 이 작업을 완료할 수 있는 더 창의적인 방법이 있는지입니다.
내가 시도한 것:
- 행을 추가한 다음 마지막 몇 개의 배치 번호를 강조 표시하고 채우기 -> 테이블 끝까지 시퀀스 계속
- JSL을 사용하면 행을 추가할 수 있지만, 테이블 끝까지 채우는 자율적인 방법을 찾는 데 어려움을 겪었습니다...
- 데이터 가져오기에서 일괄 처리 번호를 복사하여 데이터 마스터에 붙여넣은 다음, 테이블 업데이트 기능을 실행하여 나머지 데이터를 가져옵니다.
- 항상 잘 작동하는 검증된 방법이지만, 이 방법보다 조금 더 자동화되면 좋겠습니다.
- 데이터 테이블을 연결한 다음 중복 항목을 삭제합니다.
- 이 방법은 정말 잘 작동했지만, 가끔은 마지막 몇 줄의 데이터가 마스터에서는 불완전하지만 데이터 업데이트에서는 완전합니다. 이 방법을 사용하면 새로운 중복을 유지하는 것이 더 이상적일 때 오래된 중복을 삭제합니다. 새로운 중복을 유지할 수 있다면 이 방법은 정말 잘 작동할 수 있습니다.
- 인접한 열이나 배치 번호 열 자체에 Row() 수식을 활용합니다.
- 우리는 거의 배치 #1에서 시작하지 않지만 이는 Row()+(숫자)를 더하면 쉽게 조절됩니다. 즉, 첫 번째 배치가 6543이면 내 공식은 [Row() + 6542]가 되고 올바른 개수가 계산됩니다.
- 이것도 잘 작동하지만, 때때로 배치 번호가 건너뜁니다. 이렇게 하면 계산된 열이 배치 번호 열과 일치하지 않게 되는데, 가끔 데이터에 간격이 생기기를 원하지 않는 한 그렇습니다.
자동화 및 스크립팅Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다.규칙과 예외를 정의할 수 있다면 JSL을 작성하여 문제를 해결할 수 있습니다. 말씀하신 모든 내용을 따라가기 힘들지만, 첫 번째 배치 번호를 어디에서 가져올지, 불규칙한 경우 어떻게 할지, 그리고 배치 번호가 건너뛴 경우를 감지하여 처리하는 방법을 정의할 수 있다면 JSL에서 모두 처리할 수 있을 것 같습니다.
Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다.정말 간단한 연습입니다... 19257에서 19640까지의 배치가 있는 "마스터" 데이터 세트가 하나 있다고 가정해 보겠습니다. 19620에서 19665까지의 배치가 있는 새 데이터 세트를 받았는데, 이제 "마스터" 데이터 세트에 추가해야 하므로 모두 하나의 파일에 있습니다. 일반적인 관행은 이 새 배치 번호를 마스터로 복사한 다음 Tables -> Update를 실행하고 두 테이블을 Batch = Batch로 매치한 다음 update가 모든 새 데이터를 가져옵니다.
제가 가장 큰 걸림돌은 JSL을 사용하여 새 데이터에서 마스터 데이터로 배치 번호를 가져오거나 테이블 끝까지 자율적으로 채우는 것입니다. 행을 추가하고, Table Update를 실행하고, 사용하지 않는 행을 삭제하는 것은 쉬운 부분입니다.
Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다.사용할 수 있습니다
테이블 => 조인
그러면 원래 테이블의 모든 데이터와 새로 입력된 테이블의 새 행이 포함된 새 테이블이 생성됩니다. 그런 다음 원래 테이블을 삭제하고 새로 조인된 테이블의 이름을 바꾸기만 하면 됩니다.
Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다.이 방법은 잘 작동하지만, 그러면 새 테이블은 첫 번째 데이터 테이블에 적용될 수 있는 행 상태를 잃게 됩니다. 행 상태 열을 사용할 수 있다는 건 알지만, 모든 작업을 로그에 기록해야 하고 "행 상태에서 복사"는 어떤 이유에서인지 로그에 기록되지 않습니다. 아이디어는 이 모든 것을 로그에 기록하여 동료가 코딩을 배우지 않고도 거기에서 복사하여 이 데이터 업데이트 스크립트를 만들 수 있도록 하는 것입니다.
연결은 궁극적으로 내가 찾고 있는 옵션일 수 있지만, 두 번째 중복을 유지하면서 중복을 삭제할 방법이 필요합니다. 수십 개의 열에 걸친 대부분의 정보는 동일하지만, 첫 번째 중복은 열 목록의 끝 부분에 일부 누락된 데이터가 있습니다. 따라서 두 번째 중복은 더 완전한 데이터 세트를 제공합니다. 따라서:
배치 #
1
2
3 (중복, 삭제)
4 (중복, 삭제)
5 (중복, 삭제)
[아래는 일부 중복된 배치를 포함하는 연결된 데이터입니다.]
3(복제, 보관)
4(복제, 보관)
5 (복제, 보관)
6
7
8
Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다." 모든 것을 로그에 기록하여 동료들이 코딩을 배우지 않고도 이 데이터 업데이트 스크립트를 만들기 위해 거기에서 복사할 수 있도록 하는 것이 아이디어입니다."라고 말할 때 당신이 설명하는 것이 무엇인지 상상할 수 없습니다. 사용자가 복사하여 사용하는 로그에서 제공되는 내용을 정확히 살펴볼 수 있는 방법이 있습니까?
중복 배치에 관해서는 Select Duplicate Rows에 대한 스크립팅 인덱스를 살펴보는 것이 좋습니다. 이전에 본 모든 행을 찾을 수 있습니다. 그런 다음 찾은 중복을 반복하고 그로부터 이전에 중복된 행을 찾은 다음 해당 행을 삭제할 수 있습니다.
Re: 테이블 끝까지 이어지는 시퀀스에 창의성을 발휘해야 합니다.제가 이런 말을 할 때, 기존 데이터 세트에 새로운 데이터를 가져오는 데 필요한 일련의 단계를 말합니다. 여기에는 다음이 포함됩니다.
- 이전에 특정 위치에 특정 파일 이름으로 저장된 새 Excel 데이터 세트를 열고 가져옵니다.
- 기존 데이터 세트에 해당 데이터를 추가하여 더욱 완전하게 만듭니다.
- 데이터 "정리"(즉, 새 데이터 세트에 추가되지만 필요하지 않은 열 삭제, 다른 열 다시 포맷, 기타 필요한 작업)
이러한 모든 작업은 Log에 추가되고 Log가 생성하는 JSL은 데이터 테이블의 새 스크립트에 복사할 수 있습니다. 제 동료 중 JSL에 능숙한 사람은 많지 않으므로 전체 팀이 이 프로젝트를 모든 사람이 반복할 수 있도록 하려면 이러한 단순성이 필요합니다. Log가 캡처하지 못하는 JSL 코드를 스크립트에 수동으로 추가해야 하는 경우 팀이 최종 제품을 구현하기가 훨씬 더 어려워집니다.
제안의 "발견된 중복을 반복하고 그로부터 중복된 이전 행을 찾은 다음 해당 행을 삭제"하는 부분은 어떻게 해야 할까요? 제 생각에는 이것이 이 모든 것을 하나로 모으는 데 마지막으로 빠진 부분일 수 있습니다.