스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부빅 데이터 시대에 우리는 모든 데이터를 데이터베이스, hadoop 서버에 보관하거나 스트림에서 직접 액세스하기를 원합니다. 그러나 여전히 많은 데이터가 스프레드시트에 저장되거나 기록되며 기계, 엔지니어, 연구실 직원 또는 기타 작업자에 의해 수동 또는 자동으로 업데이트됩니다. JMP에서는 스프레드시트의 모든 종류의 데이터를 JMP로 쉽게 가져올 수 있습니다. 자동으로 생성된 "소스" 스크립트를 사용하여 이를 쉽게 자동화할 수도 있습니다. 그러나 이 스크립트를 다시 실행하면 새 데이터 테이블이 열리고 현재 데이터 테이블이 업데이트되지 않습니다.
일반적으로 이것은 정확히 원하는 것이 아닙니다. 왜? 이미 일부 데이터 정리 또는 기록을 수행했을 수도 있습니다. 새 데이터에 대해 추가로 사용하려는 데이터 테이블에 저장된 일부 분석을 수행했을 수도 있습니다. 이 문서에서는 현재 데이터 테이블을 스프레드시트의 새 데이터로 업데이트하여 현재 있는 행을 유지하고 스프레드시트의 새 행만 추가하는 방법을 보여 드리겠습니다.
제가 다루고 싶은 두 가지 시나리오는 다음과 같습니다.
- 이 기사에서는 수직 구조 데이터의 쉬운 사례를 다룹니다. 즉, 열 이름이 있는 행 하나가 있고 그 너머의 다른 행에는 데이터가 있다는 의미입니다.

- 안에 두 번째 기사 수평 구조의 데이터 사례를 다루겠습니다. 첫 번째 행/첫 번째 열은 매개변수 이름이고 다음 열은 데이터입니다. 두 번째 행에는 단위가 있고, 세 번째 행에는 배치 번호가 있습니다. 그런 다음 빈 행이 생성되고 그 이후에는 다른 매개변수에 대해서도 동일한 작업이 수행됩니다. 이는 스프레드시트로 읽기가 더 쉽지만 실제로 분석하기는 쉽지 않습니다. 수평 구조로 문제를 해결하려고 시도하는 것보다 수직 방식으로 데이터를 입력하도록 사람들을 교육하는 것이 훨씬 나을지라도 이런 종류의 데이터를 자주 봅니다.

그럼 스프레드시트 데이터를 살펴보겠습니다. 날씨 데이터인데 개념을 설명하기에는 매우 간단합니다. 첨부된 JMP 데이터 테이블과 첫 번째 사례에 대한 Excel 스프레드시트에서 스크립트를 찾을 수 있습니다.
상황부터 시작해보자
우리는 이미 이전 버전의 스프레드시트를 가져왔습니다(해당 시점까지의 데이터 행 3개). 이제 데이터 테이블을 업데이트하려고 합니다. 데이터 테이블의 왼쪽 상단 창에 업데이트 스크립트가 표시됩니다. 이 스크립트는 다음을 수행합니다.
- 현재 데이터 테이블 이름과 해당 데이터 테이블의 행 수에 액세스합니다.
- 새 데이터를 가져올 스프레드시트 파일 이름과 워크시트 이름을 설정합니다.
- 스프레드시트를 열고 워크시트 데이터를 도움말 데이터 테이블로 읽어옵니다.
- 우리는 처음으로 데이터를 가져올 때 생성된 소스 스크립트를 사용합니다.
- 그러나 "행에서 데이터 시작" 항목을 (2)에서 (2+n_Rows)로 변경하여 아직 가져오지 않은 데이터만 가져옵니다.
- 이제 "첫 번째 테이블에 추가" 옵션을 사용하여 두 테이블을 연결하기만 하면 됩니다.
cdt = Current Data Table();
excelFile = "WeatherData.xlsx";
name_worksheet = "WeatherData"; // or "Sheet1" for this Excel book example
n_Rows = N Rows();
dt_h1 = Open(
excelFile,
Worksheets( name_worksheet ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 + n_Rows ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 )
),
Invisible
);
cdt << Concatenate (dt_h1, Append to first table);
Close(dt_h1);
결론
어렵지는 않은 것 같습니다. 좋은 점은 코딩과 같은 데이터 정리 기능을 사용하여 수식 열로 저장하면 새 데이터가 자동으로 처리된다는 것입니다. 또는 이전 데이터로 예측 모델을 생성하고 예측 공식을 데이터 테이블에 다시 저장한 다음 새 데이터에 대한 예측을 확인합니다(예: 새 모델 또는 실제 예측 데이터와 비교). 나는 당신이 많은 사용 사례를 찾을 것이라고 확신하며 이것이 당신에게 유용할 것이기를 바랍니다.
물론 이를 사용하고 관리 차트나 기타 추세 분석 업데이트와 같이 데이터에 분석을 추가하여 확장할 수 있습니다. Windows 스케줄러를 사용하여 보고서를 업데이트하고 새 제품으로 보낼 수 있습니다. JMP 라이브 , 따라서 다른 사람들(반드시 라이센스가 있는 JMP 사용자는 아님)이 데이터 필터, 열 전환기 등과 같은 JMP의 상호 작용을 통해 웹 브라우저에서 보고서에 액세스할 수 있습니다.
다음에 무엇을 기대할 것인가
다음 포스트에서는 약간 다르지만 그다지 어렵지는 않은 두 번째 경우에 대해 이야기하겠습니다.
이런 종류의 문제가 있는지 또는 데이터가 어떻게 구성되어 있는지(스프레드시트에서) 듣고 싶습니다. 의견을 남겨주세요.
모두 제일 좋다,
남자 이름
추신: 파일에 대한 두 가지 설명:
- WeatherData.jmp에는 첨부된 Excel 파일로 데이터 테이블을 업데이트하기 위한 스크립트가 있습니다. 두 파일 모두 동일한 폴더에 저장해야 합니다. 이는 단순화를 위해 Pick File()을 사용하여 하드 코딩된 파일 이름을 쉽게 변경하고 이름을 추출할 수도 있습니다.
- 두 번째 스크립트는 행을 수동으로 삭제할 필요 없이 데이터 테이블의 행을 제거하여 Excel 시트에서 다시 업데이트할 수 있는 "마지막 두 행 제거"입니다. 그럼 모두 여러분의 편의를 위해

현재 JMP 데이터 테이블을 다음의 새 데이터로 업데이트하세요( 수직의 구조화된) 스프레드시트를 사용하여 현재 데이터 테이블의 변경 사항을 유지합니다.
- 1 부Re: 스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부안녕하세요 호기 님
이전 데이터를 변경하지 않는 경우 이는 옵션이 될 수 있습니다. 예를 들어 이미 데이터 품질 검사를 수행하고 데이터를 변경 또는 제외했거나 추가 의견을 작성했을 수 있습니다. 데이터를 추가하는 이 방법으로 무언가를 변경하자마자 일반적으로 원하지 않는 모든 변경 사항이 제거됩니다.
Re: 스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부또 다른 접근 방식:
1) 다음을 통해 새 데이터를 로드합니다. 원천 스크립트
2) 기본 테이블에서 모든 행을 제거합니다.
3) 연결을 통해 새 데이터를 추가합니다.
dt = Current Data Table();
dtnew = dt << Run Script( "Source" );
dt << Select All Rows << Delete Rows;
dt << Concatenate( dtnew, Append to first table );
Close( dtnew, NoSave );
Re: 스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부안녕하세요 hogi님, 추가 옵션을 제공해 주셔서 감사합니다. 아주 좋습니다.
그리고 당신 말이 맞아요:
"두 번째 테이블의 데이터로 기본 테이블 업데이트"는 현재 테이블의 열을 사용하고 열 이름이 일치하면 열을 업데이트합니다. 두 번째 테이블의 다른 열은 추가되지 않습니다.
"같은 이름의 열 병합"은 비슷한 이름의 열에 있는 데이터로 빈 공간을 병합/덮어쓰기/채우기도 합니다. 그러나 두 번째 테이블의 다른 열도 추가됩니다.
첫 번째 경우에는 테이블->업데이트 기능을 사용할 수도 있습니다. 특히 이 작업으로 새 데이터 테이블을 생성하지 않고 두 번째 데이터로 기존 테이블을 업데이트하려는 경우 더욱 그렇습니다.
다른 차이점이 있는지는 모르겠습니다.
Re: 스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부"와"의 차이점이 무엇인지 궁금합니다. 두 번째 테이블의 데이터로 기본 테이블 업데이트 " 그리고 " 같은 이름의 열 병합 " - 여기서 그들은 똑같은 일을 합니다. 그렇죠?

잠시 동안 주위를 둘러본 후 추가 열이 있는 두 번째 테이블을 사용할 때 차이점을 발견했습니다.
- " 두 번째 테이블의 데이터로 기본 테이블 업데이트 " 업데이트 메인 테이블 (by 같은 이름의 열 병합 ), 추가 열 없음
- " 같은 이름 열 병합 "는 같은 하지만 추가로 두 번째 테이블의 새 열을 추가합니다.
차이점이 더 있나요?
Re: 스프레드시트에서 JMP 데이터 테이블을 쉽게 업데이트하기 - 1부또는 Join Platform을 사용할 수도 있습니다.
먼저 두 테이블을 모두 로드합니다.
Open( "$DOWNLOADS/WeatherData.jmp" );
Open( "$DOWNLOADS/WeatherData.xlsx", Worksheets( "Backup_NewData" ), );
그런 다음 가장 쉬운 방법은 "행 번호로" 결합하는 것입니다.
Data Table( "WeatherData" ) << Join(
With( Data Table( "Backup_NewData" ) ),
Merge Same Name Columns,
By Row Number
);
대안적으로, 날짜 열은 행 번호와 관계없이 개별 항목을 식별하는 데 사용될 수 있습니다.
이는 다음을 통해 테이블을 조인하는 보다 강력한 방법을 허용합니다. 열 일치 :
(참고: 1분의 시간 차이로 인해 10월 15일과 16일은 두 번 표시됩니다.)
Data Table( "WeatherData" ) << Join(
With( Data Table( "Backup_NewData" ) ),
Merge Same Name Columns,
By Matching Columns( :Date = :Date ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 )
)
Re: 스프레드시트에서 JMP 데이터 테이블 업데이트하기 - 1부@마틴데멜 님, 위에서 언급하셨죠:
첫 번째의 경우, 특히 이 작업으로 새 데이터 테이블을 만들지 않고 두 번째의 데이터로 기존 테이블을 업데이트하려는 경우 테이블->업데이트 기능을 사용할 수 있습니다.
제가 원하는 게 바로 이거인데, '업데이트'에 새 테이블의 행을 추가하는 옵션이 없고 기존 데이터만 업데이트합니다. 그리고 '조인'에도 새 데이터 테이블을 만들지 않는 옵션이 없습니다. 이 데이터 테이블을 가상 조인과 함께 사용하고 있는데, 새 데이터 테이블에서 가상 조인 링크가 끊어져서 매우 답답합니다.
JMP 위시리스트에서 이 기능에 대한 항목을 찾았습니다: 테이블 조인: 기본 테이블 업데이트 옵션 . JMP에서 이 기능이 구현되는 것을 보고 싶으시면 위시리스트 항목에 '좋아요'를 눌러주세요.