JSL을 사용하여 ODBC에서 테이블로 데이터 추출안녕하세요
JSL 초보자 ...
ODBC 데이터를 포함하는 JMP 데이터 테이블을 만들려고합니다. 특정 날짜 이후에만 값이 필요하고 특정 제품 만 필요합니다.
한 제품에 대한 현재 스크립트는 다음과 같습니다.
LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ','dd-mm-yyyy ') 및 LIMS.SAMPLE.PRODUCT ='12345ABC '
어떻게 하나 이상의 제품을 12345ABC, 23456ACD, 1234ABCD 같은 세 가지 제품을 내 테이블에 포함시킬 수 있습니까?
베스트,
엠
다시 : ODBC에서 데이터를 추출하여 JSL을 사용하여 테이블에안녕하세요 MBL,
JMP에서 쿼리 작성기를 사용하는 것이 좋습니다. 쿼리에 대한 결과를 얻었 으면 테이블을 생성 한 다음 원본 스크립트를 결과에서 복사 / 붙여 넣기하여 JSL에 넣습니다. 이렇게하면 전체 과정을 훨씬 쉽게 할 수 있습니다.
아래의 SQL을 계속 진행하기를 원한다면, 나는 당신이 다음과 같은 것을 할 것이라고 믿는다 :
LIMS.SAMPLE.DATE> = to_date ('17 -01-2015 ','dd-mm-yyyy ') 및 LIMS.SAMPLE.PRODUCT IN ('12345ABC ',' 23456ACD ','1234ABCD '))
브라이언 코코 란
JMP 개발
다시 : ODBC에서 데이터를 추출하여 JSL을 사용하여 테이블에여기에 SQL을 생성하는 한 가지 방법이 있습니다. 트릭은 Concat Items 함수를 사용하여 IN 목록을 만드는 것입니다. 나는 또한 문자열 내부에 큰 따옴표를 깔끔하게 포함 할 수 있도록 evalinsert와 \ [...] \를 사용하고있다.
prod_list = {"12345ABC", "23456ACD", "1234ABCD"};
in_list = "('" || Concat Items(prod_list, "','") || "')";
sql = evalinsert(
"\[SELECT * FROM "LIMS"."SAMPLE"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ^in_list^)]\");
show(in_list, sql);
로그 창에서 결과 :
in_list = "('12345ABC','23456ACD','1234ABCD')";
sql = "SELECT * FROM \!"LIMS\!".\!"SAMPLE\!"
WHERE LIMS.SAMPLE.DATE >= to_date('17-01-2015', 'dd-mm-yyyy')
AND (LIMS.SAMPLE.PRODUCT IN ('12345ABC','23456ACD','1234ABCD'))";