0

我有两个不同的脚本数据集,我从中提取数据并进行聚合(在同一个键上)。我想要做的是一行一行地显示来自两个来源的聚合数据。数据来自脚本数据源 (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”列上的完全外连接在两个脚本数据集之间创建一个 BIRT 连接数据集,然后在报表中使用此连接数据集。它应该满足您的需求。

于 2012-11-08T10:30:39.077 回答
0

我或多或少地按照以下指南解决了我的问题。

所以我创建了一个链接到我的第一个数据源的列表。然后,我在订单 ID 上添加了一个组,以便每个订单都有一个列表行。在组标题中,我添加了一个 2x1 网格,我在网格的一侧放置了一个订单组件表,在另一侧放置了一个填充表。我必须为这两个添加过滤器,以便它们只包含正确 OrderId 的数据。然后我按 OrderId 对表进行分组,添加了我的聚合字段。

剩下的就是设置可见性。所以我将表详细信息的可见性设置为 false。为了只显示一次表头(而不是每个订单一次),我在列表中添加了一个 Running Count 聚合,并在此聚合大于 1 时将可见性设置为不可见。

最后实际上很容易,但我花了很长时间才弄清楚如何去做。

于 2012-11-08T13:44:47.290 回答