0

データを取得して集計している (同じキーで) 2 つの異なるスクリプト化されたデータ セットがあります。私がやりたいことは、両方のソースからの集計データを 1 行で表示することです。データは、スクリプト化されたデータ ソース (POJO) から取得されます。

注文に多くのコンポーネントがあり、各コンポーネントが異なる見積価格の異なる顧客向けである簡単な例を以下に示します。次に、各注文が異なる価格で異​​なるロット (または約定) で約定されたとき。各注文の合計注文数量と約定数量、および加重平均見積もり価格と約定価格を含む要約を作成できるようにしたいと考えています。

注文コンポーネント テーブル

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

そして、Order Fullfillment テーブル

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

次のようなものを表示したいと思います。

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

サブレポートを使用してみましたが、結果を取得できるようですが、ひどい形式です。サブテーブルのヘッダーが繰り返されるため、すべての注文が独自のヘッダーを取得します。

4

2 に答える 2

0

「注文 ID」列の完全外部結合に基づいて、スクリプト化された 2 つのデータセット間に BIRT 結合データセットを作成し、この結合データセットをレポートで使用することができます。それはあなたのニーズを満たすはずです。

于 2012-11-08T10:30:39.077 に答える
0

次のガイドに従って多かれ少なかれ問題を解決しました。

そこで、最初のデータ ソースにリンクされたリストを作成しました。次に、Order ID にグループを追加して、Order ごとに 1 つのリスト行を持つようにしました。グループ ヘッダーに 2x1 グリッドを追加し、注文コンポーネントのテーブルをグリッドの片側に配置し、約定のテーブルをもう一方の側に配置しました。これらの両方にフィルターを追加して、正しい OrderId のデータのみが含まれるようにする必要がありました。次に、テーブルを OrderId でグループ化し、集計フィールドを追加しました。

あとは可視性を設定するだけです。そこで、テーブルの詳細の可視性を false に設定しました。テーブル ヘッダーを (注文ごとに 1 回ではなく) 1 回だけ表示するために、Running Count 集計をリストに追加し、この集計が 1 より大きい場合は可視性を非表示に設定しました。

実際には非常に簡単でしたが、それを行う方法を理解するのに何年もかかりました.

于 2012-11-08T13:44:47.290 に答える