BIRT - 动态添加列

时间:2017-11-22 10:36:48

标签: java dynamic birt

我正在尝试根据以下(简化的)SQL表生成BIRT报告:

  • Product (ProductCode, ProductDescription, RRP) - 此表包含已售出的产品和产品的属性。
  • StockOnHand (ProductCode, WarehouseName, QtyOnHand) - 此表显示每个仓库中每件产品的数量。

现在我想生成一个报告,其中每一行显示每个产品及其属性,以及各种仓库中的库存。但我不知道哪个仓库可以显示现有库存,因为这将作为报告参数传递。

因此报告的列类似于以下内容: ProductCode,ProductDescription,RRP,Warehouse1StockOnHand,Warehouse2StockOnHand,...,WarehouseNStockOnHand

我不清楚生成动态列集的最佳方法。我遇到了一个基于building the report in Java code的解决方案。

我想知道是否有一个更简单的解决方案,不涉及编写自定义Java代码?

1 个答案:

答案 0 :(得分:1)

我认为您需要的是BIRT交叉表报告。 或者 - 如果你不喜欢BIRT交叉标签 - 你可以创建你的交叉标签"使用SQL pivot或SQL分析函数,然后在BIRT中使用一个简单的表项: