0

CDE를 사용하여 양식을 pentaho 서버에서 만듭니다. 이 양식은 일부 입력 필드가있는 테이블입니다. 클릭하면 매개 변수 값으로 전송되는 배열이 생성됩니다. IN db 테이블에는 3 개의 열이 있습니다 : 알파, 베타, 감마.kettleTransFromFile diffren 동작 대 Pentaho 데이터 통합 ​​

//var data = JSON.stringify(array); 
var data = [ 
{"alfa":"some txt","beta":"another text","gamma": 23}, 
{"alfa":"stxt","beta":"anoxt","gamma": 43} 
] 

저는 예상대로 실행되는 주전자 변환을 만듭니다. 이 2 행의 배열은 데이터베이스에 삽입되지만, 펜타 호의 kettleTransFromFile을 통해 CDA 케틀을 사용하여 동일한 케틀 변환을 실행하면 첫 번째 행만 삽입됩니다.

enter image description here

  1. 변수 가져 오기 : 데이터 (문자열)
  2. 수정 된 자바 스크립트 값 :는 JSON 배열을

    var에 data_decode = 평가를 포함 data_decode (데이터 이 내 변화입니다 .toString());

  3. JSON 입력 : 알파 - $ .. [0] (α), 베타 - $은 .. [0] .beta, 감마 - $ .. [0]

  4. tableinsert을 .gamma - 데이터베이스에 삽입한다.

... 숟가락에서 가볍게 치기 명령 줄은 모두 괜찮지 만 Pentaho는 아닙니다. 무엇이 잘못 되었나요?

감사합니다. 지오


UPDATE

어쩌면 그것은 미스 구성이나 버그 또는 한 feauture이야,하지만 난이 방법을 사용하지 마십시오. 간단한 메소드를 찾았습니다 : 을 스크립트로 작성하여 간단한 Java 코드가있는 데이터 소스 (beanshell 사용)를 작성하십시오. 이제 예상대로 작동합니다. 이 양식을 Sparkl 플러그인 내부로 옮길 것입니다. 고맙습니다.

이 질문은 여전히 ​​열려 있습니다. 아마도 누군가이 접근법을 시도하고 싶을 것입니다.

답변

0

올바른 JSONPath를 사용하여 부작용을 제거하십시오. $.*.alpha