데이터 테이블에 SQL 쿼리 결과를 저장하는 방법은 무엇입니까?모두들 안녕,
다음과 같은 문제가 있습니다. 데이터베이스에서 데이터를 가져오기 위해 SQL 쿼리를 실행하고 싶습니다. 잘 작동합니다. 그런 다음 쿼리의 데이터를 데이터 테이블에 저장하고 추가 처리에 사용합니다. 다른 게시물의 아이디어를 기반으로 새 변수에 간단한 할당을 수행했습니다. dt_TestData . Data Table의 인수로 다음에서 가져온 이름을 제공하고 있습니다. QueryName. 그러나 새 변수에 데이터를 저장하려고 하면 오류가 발생합니다. 쿼리 실행이 잘 작동하고 이름이 있는 새 테이블 실험_데이터 자동으로 열리지만 해당 테이블에 대한 참조를 만들고 싶습니다. 나는 무언가를 간과하고 그것을 알아차리지 못한다. 이 문제를 해결하는 방법에 대한 도움을 주시면 감사하겠습니다. JMP15를 사용하고 있습니다. 질문이 하나 더 있습니다. 쿼리 실행 후 테이블 표시를 비활성화하는 방법은 무엇입니까? 친애하는.
Data = New SQL Query(
Connection(
"ODBC:Description=Datenbank;DRIVER=SQL Server;SERVER=Server;UID=%_UID_%;PWD=%_PWD_%;APP=JMP;DATABASE=EngineeringSupport;"
),
QueryName( "Experimental_Data" ),
Select(
Column( "Param1", "t1"),
Column( "Param2", "t1"),
Column( "Param3", "t1"),
),
From( Table( "TestData", Schema( "dbo" ), Alias( "t1" ))),
) << Run;
dt_TestData = Data Table("Experimental_Data");
Open(dt_TestData);
//further actions with dt_TestData: slicing, joining with other tables, etc.
Re: SQL 쿼리 결과를 데이터 테이블에 어떻게 저장하나요?이상 하네. 쿼리를 실행할 때 쿼리에서 테이블로 직접 메시지를 보낼 수 없습니다. 먼저 해당 테이블을 데이터 테이블로 만들어야 합니다. 아래 예를 참조하십시오. 내가 뭔가 오해하고 있습니까?
Table = New SQL Query(
Version( 130 ),
Connection( "ODBC:DSN=yournamehere;" ), // OBS! needs to be present and carry correct name!
QueryName( "MyQuery" ),
Select(
Distinct,
Column( "A", "t1" ),
),
From(
Table(
"some table",
Schema( "some view" ),
Alias( "t1" )
),
Table(
"another table",
Schema( "another view" ),
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "BatchId", "t1" ), Column( "BatchId", "t2" ) )
)
)
)
) << Run;
// does not work
Close( Table, no save );
// does work
NewTable = Data Table( Table );
Close( NewTable, no save );
Re: SQL 쿼리 결과를 데이터 테이블에 어떻게 저장하나요?markbailey, 답장을 보내 주셔서 감사합니다. 스크립팅으로 참조를 얻는 방법을 몰랐지만 추가 검색 후 이 솔루션을 찾았습니다. 우편 . 시간 내주셔서 감사합니다.
Re: SQL 쿼리 결과를 데이터 테이블에 어떻게 저장하나요?변수 데이터 쿼리에서 반환된 데이터 테이블에 대한 참조를 저장합니다. 함수 호출 데이터 테이블( "실험 데이터' ) 열린 데이터 테이블 Experimental Data에 대한 참조를 반환합니다. 에 저장된 참조로 메시지를 보낼 수 있습니다. 데이터 .
Re: SQL 쿼리 결과를 데이터 테이블에 어떻게 저장하나요?gzmorgan0,
답장을 보내 주셔서 감사합니다! 좀 더 정확하게 설명했어야 했는데 문제는 쿼리 결과 데이터를 참조할 "dt" 변수를 만들 수 없다는 것입니다. 쿼리가 실행된 후 새 테이블이 생성되고 열리지만 데이터를 참조하는 변수는 어디에서 찾거나 생성할 수 있습니까? 아니면 어떻게든 생성되어 내가 보거나 사용할 수 없습니까? JMP에서 다음 행과 관련된 오류를 표시하고 있습니다.
dt_TestData = 데이터 테이블("Experimental_Data");
"Data Table, Data Table/*###*/("Experimental_Data")에 액세스하거나 평가할 때 데이터 테이블을 찾을 수 없습니다."
제가 생각하는 변수는 dt_TestData 그런 식으로 만들 수 없습니까? 문제 해결을 위해 추가 도움을 주시면 감사하겠습니다.
Re: SQL 쿼리 결과를 데이터 테이블에 어떻게 저장하나요?@lukasz ,
마지막 JSL 문은 Open( dt_testData ) 문제입니다.쿼리가 성공적으로 실행된 경우 데이터 테이블이 이미 열려 있습니다. 해당 테이블의 다른 복사본을 만들려면 하위 집합을 사용하십시오. 아래 예에서 dt2는 다른 테이블입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = dt << Subset( All Rows, Selected Columns(0), Output Table Name("Big2") );