안녕하세요!8 개의 테이블을 함께 결합하고 원본 테이블 (Excel 또는 JMP 데이터 테이블) 인 경우 자동으로 업데이트하려고합니다.
- 8 개의 테이블은 동일한 열 이름과 속성을 가지며 데이터 세트가 다르기 때문에 기술적으로 모든 테이블을 연결하는 것입니다.
- 또한 피더 테이블의 데이터가 추가 / 제거되는 경우 업데이트 할 수 있도록 조인 된 테이블 (8이 피드되는)이 필요합니다.
입력 데이터 테이블의 변경 사항으로 가상으로 업데이트되는 데이터베이스를 생성 할 수있는 "조인"이 있다는 것을 알고 있지만 해당 함수는 데이터를 대체하기 때문에 (JMP의 "조인"기능) 제 요구에 맞지 않습니다. 연결되지 않습니다.
피더 데이터 테이블이 변경되면 연결된 데이터 테이블 (8 개의 원본 데이터 테이블이 모두 결합 된 테이블)이 업데이트되도록 8 개의 데이터 테이블 (바람직하게는 Excel)을 가상으로 연결하는 기능이 있습니까?
미리 감사드립니다!
@AU ,
원하는 작업을 수행하는 JMP 기본 제공 옵션을 모르지만 SQL 마스터에는 사용자가 원하는 작업을 수행하는 방법이있을 수 있습니다. 귀하의 기대 / 사용 사례가 무엇인지 잘 모르겠습니다.
데이터를 분석하는 동안 업데이트를 기대하십니까? 업데이트 할 분석이 있습니까? 아니면이 파일 / 분석이 일정한 시간 간격으로 업데이트 될 것으로 예상됩니까?
기대하는 작업에 대한 자세한 설명을 제공하면 (시도하는 작업) JMP 기본 제공 솔루션이 아니더라도 커뮤니티에서 솔루션을 제공 할 수 있습니다.
감사 헉헉 제안을 위해 몇 가지 세부 사항을 추가했습니다.
아, 그래, 고마워:(조금 불행합니다.저는 SQL에 익숙하지 않지만 간단하고 간단하다면 배우고 시도해 볼 수 있습니다.
가상 조인과 유사한 도구도 모르지만 기존의 연결을 사용하는 너무 복잡하지 않은 스크립트로이를 수행 할 수있는 것 같습니다.다음은 제가 시작할 일반적인 접근 방식입니다.
Names Default to here(1);
//reference the current data table (the one you are already working in)
dtLatest = current data table();
//list of all source files and variable to hold references to source tables
SourceFile = {"C:\file1.xlsx", "C:\file2.xlsx", ... };
dtSource = list();
//If all files have the same format, use a function to open them all
openfile = Function({fn},
//Open function, copy this from the source script after opening a file interactively
dt = Open(
fn,
Worksheets( "Sheet 1" ),
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( 1 ),
Data Starts on Row( 2 ),
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( 1 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
dt << New Column(..); //add any more columns, filter or clean data as appropriate
dt;
);
//Open source tables
for( f=1, f<= n items(SourceFile), f++,
dtSource = openfile( SourceFile[f] )
);
//Join all the files together
dtJoined = Concatenate(dtSource);
//Close the source tables
dtSource << Close Window()
//In the source table, delete all rows
dtLatest << Select all Rows;
dtLatest << Delete Rows;
//Concatenate the new rows again
dtLatest << Concatenate( dtJoined );