2012-11-07 4 views
0

데이터를 가져 와서 동일한 키에 집계하는 두 개의 다른 스크립트 데이터 세트가 있습니다. 내가하고 싶은 것은 두 소스의 집계 된 데이터를 한 줄씩 표시하는 것입니다. 데이터는 스크립팅 된 데이터 소스 (POJO)에서 가져옵니다.그룹화 된 테이블에 가입하기

Order가 많은 구성 요소를 가지며 각 구성 요소마다 다른 고객에게 다른 가격이 제시되는 간단한 예제가 아래에 나와 있습니다. 그런 다음 각 주문이 다른 가격으로 다른 로트 (또는 채우기)에 채워질 때. Ordered and Filled 수량과 가중 평균 견적 가격 및 채워진 가격을 사용하여 각 Order의 요약을 생성 할 수 있기를 원합니다. 다음

Order ID, Customer Num, Qty, Quoted Px 
Ord01,Cust01,3,100 
Ord01,Cust02,3,102 
Ord02,Cust01,5,200 
Ord02,Cust03,5,204 

그리고

주문 구성 요소 테이블

OrderID,FillId,Qty,CostPx 
Ord01,F01,4,100 
Ord01,F02,2,106 
Ord02,F03,2,200 
Ord02,F04,8,210' 

나는 이런 식으로 뭔가 표시하고 싶은 주문 Fullfillment 테이블 : 나는 하위 보고서를 사용하여 시도했다

Order ID, Order Qty, Fill Qty, Avg Order Px, Avg Fill Px 
Ord01, 6, 6, 101, 102 
Ord02, 10, 10, 202, 208 

을 그리고 저에게 결과를 얻을 수있을 것 같지만 끔찍한 형식입니다. 서브 테이블 헤더가 반복되므로 모든 순서가 고유 헤더가됩니다.

+0

기본 데이터 원본 - 관계형 데이터베이스, XML 파일 ...은 무엇입니까? –

+0

자바 서버에서 가져온 스크립트 데이터 소스입니다. – brain

+0

네, 원래 질문에서 ** 기본 ** 데이터 소스는 무엇입니까? –

답변

0

나는 다음과 같이 다소 차이가있어 문제를 해결했습니다. guide.

그래서 첫 번째 데이터 소스에 연결된 목록을 만들었습니다. 주문 당 하나의 목록 행을 갖도록 주문 ID에 그룹을 추가했습니다. 그룹 머리글에 2x1 표를 추가하고 그리드의 한쪽면에 주문 구성 요소 테이블을 배치하고 다른 한쪽에 채우기 테이블을 배치했습니다. 올바른 OrderId에 대한 데이터 만 포함하도록 두 필터에 필터를 추가해야했습니다. 그런 다음 OrderId로 테이블을 그룹화하고 집계 필드를 추가했습니다.

남은 것은 가시 거리를 설정하는 것입니다. 그래서 테이블 세부 사항의 가시성을 false로 설정했습니다. 주문 당 한 번이 아닌 테이블 헤더를 한 번만 표시하기 위해이 집계가 1보다 큰 경우 실행 집계를 목록에 추가하고 가시성을 보이지 않게 설정했습니다.

실제로 실제로는 꽤 쉬웠습니다. 그러나 그것을하는 방법을 해결하기 위해 나에게 나이가 들었다.

+0

이 답변을 수락하면 질문에 답이 나오지 않습니다. –

0

"주문 ID"열에 대한 완전 외부 조인을 기반으로 두 스크립트 데이터 집합간에 BIRT 조인 된 데이터 집합을 만든 다음이 조인 된 데이터 집합을 보고서에 사용할 수 있습니다. 귀하의 필요를 충족시켜야합니다.

+0

설명하는대로 완전 외부 조인은 OrderComponents와 Order ID에 대한 채우기의 교차 제품을 제공합니다. 나는. Order01에 대해 네 개의 행을 얻었고 합계가 적절하게 합쳐지지 않았습니다. – brain

+0

mmmh 네 말이 맞아. onFetch 이벤트의 값을 확인하여 조인 된 데이터 집합으로 이미 이와 같은 작업을 관리했지만 이전 행에서 '키'orderId + customerId가 변경되지 않은 경우 두 개의 첫 번째 입력란을 0으로 설정합니다. 발행물! – Dominique

관련 문제