스크립트-OBBC 쿼리의 데이터 테이블 작업안녕하세요 여러분-
ODCB 쿼리를 통해 얻은 Microsoft Access 데이터베이스에 저장된 두 개의 데이터 세트로 작업하고 있습니다. 데이터를 더 조작하기 전에 두 개의 결과 데이터 테이블을 조인해야합니다.
전체 프로세스를 스크립팅했지만 한 번에 완전히 실행되지는 않습니다. 항상 두 개의 ODCB 쿼리에 대한 스크립트를 먼저 실행 한 다음 테이블 조인 및 기타 조작에 대한 스크립트를 실행해야합니다.
그렇지 않으면 오류 메시지가 표시됩니다. " 'data table', Data Table / * ### * / ( "qStreams") 액세스 또는 평가에서 데이터 테이블을 찾을 수 없습니다. "
( "qStreams"는 ODCB 쿼리에서 얻은 두 테이블 중 하나입니다).
나중에 사용하기 위해 ODCB 쿼리에서 얻은 데이터 테이블을 저장 / 선언하기 위해 스크립트를 추가해야 할 수도 있다고 생각합니다. JSL 스크립트에 익숙하지 않기 때문에 여기에 갇혀 있습니다. 실제로 스크립트).
당신의 도움을 주셔서 감사합니다.
스크립팅Re : 스크립트-OBBC 쿼리의 데이터 테이블 작업안녕하세요 @JRS ,
각 ODBC 연결로 여는 데이터 테이블에 대한 참조를 유지하고 다음과 같이 이름으로 호출하는 대신 사용하십시오.
dt1 = Open Database( "DSN=My Data Source Name", "SELECT * FROM table1" );
dt2 = Open Database( "DSN=My Data Source Name", "SELECT * FROM table2" );
dt1 << Join(
With( dt2 ),
...
);
Re : 스크립트-OBBC 쿼리의 데이터 테이블 작업빠른 답변에 감사드립니다.
개념은 알지만 특정 사례에 적용 할 수 없습니다. 내 쿼리 스크립트는 지금 다음과 같습니다.
New SQL Query(
Version( 130 ),
Connection(
"ODBC:DBQ=C:\Users\E822710\Desktop\ROTF\Database For JMP\Results.Mdb;DefaultDir=C:\Users\E822710\Desktop\ROTF\Database For JMP;Driver={Microsoft Access Driver (*.mdb, *.accdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Users\E822710\Desktop\ROTF\Database For JMP\Results.Mdb.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
),
QueryName( "qProperties" ),
Select(
Column( "CaseID", "t1", Analysis Type( "Nominal" ) ),
Column( "StreamID", "t1", Analysis Type( "Nominal" ) ),
Column( "StreamTag", "t1" ),
Column( "StreamDescription", "t1" ),
Column( "QualityID", "t1", Analysis Type( "Nominal" ) ),
Column( "QualityTag", "t1" ),
Column( "QualityDescription", "t1" ),
Column( "Value", "t1", Alias( "StreamQualityValue" ) ),
Column( "OriginDescription", "t1", Alias( "StreamOriginDescription" ) )
),
From( Table( "RW_StreamQualities", Alias( "t1" ) ) ),
Where(
In List(
Column( "QualityTag", "t1" ),
{"CRB"},
UI( SelectListFilter( ListBox, Base( "Categorical" ) ) )
)
),
Order By(
Column( "CaseID", "t1", Order( "Ascending" ) ),
Column( "StreamReportOrder", "t1", Order( "Ascending" ) ),
Column( "QualityReportOrder", "t1", Order( "Ascending" ) )
)
) << Run;
바로 내 스크립트를 공유 했어야했다는 것을 알고 있습니다.
추가 안내에 감사드립니다.
Re : 스크립트-OBBC 쿼리의 데이터 테이블 작업새 SQL 쿼리 값과 동일한 변수를 설정합니다.스크립트의 최고 수준 기능을 사용하면 다음과 같이 보일 수 있습니다.
//Get data
dtqStreams = New SQL Query( ... ) << Run;
dtqProperties = New SQL Query( ... ) << Run;
// Join both Data Tables
dtJoined = dtqStreams << Join( With( dtqProperties ), ... );
// Set column properties
dtJoined:"StreamFeedFlag"n << Add Column Properties( ... );
// Add new columns
dtJoined << New Column( ... );
// Make graphs from your joined data table
dtJoined << Graph Builder( ... );
Re : 스크립트-OBBC 쿼리의 데이터 테이블 작업안녕하세요 -
두 테이블을 조인하는 데 여전히 문제가 있지만 다음은 게시물에 따라 구현 한 스크립트입니다.
// Join both Data Tables
dtJoined = dtqStreams << Join(
With( dtqProperties ),
Merge Same Name Columns,
Match Flag( 0 ),
By Matching Columns( :CaseID = :CaseID, :StreamID = :StreamID ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Output Table( "UnitBalance.HY%" )
);
그러나 여전히 오류가 발생합니다.
