如何基于多个数据集创建BIRT报告

时间:2010-09-04 16:12:47

标签: sql reporting-services report business-intelligence birt

我需要帮助创建BIRT报告; 情况是我有多个查询但报告所有列应按一列分组(例如)(运算符)类似:

运营商| Expr1 | Expr2 | Expr3 | Expr4 |

op1 | ## | ## | ## | ## |

op2 | ## | ## | ## | ## |

op3 | ## | ## | ## | ## |


我怎样才能做到这一点? 我正在尝试使操作符分离数据集并将其放在第一列中并在所有quires中添加一个参数,即(where(operator =?))以从当前操作符列中获取操作符。但我可以不将每个数据集中的参数值附加到Operator数据集数据集。 这个策略对吗? 如果是的话......我怎么能这样做。 如果不是,那么正确的策略是什么? 百万提前感谢,

2 个答案:

答案 0 :(得分:8)

如果您的多个数据集来自同一数据源,我建议合并查询。

如果多个数据集来自不同的数据源,您可以使用BIRT中的联合数据集功能将它们链接在一起。

将两个单独的数据集链接在一起:

  1. 在BIRT报告设计器的“数据资源管理器”窗格中右键单击“数据集”,然后选择“新建联合数据集”。
  2. 在New Joint Data Set对话框中,从左侧列表中选择要加入的数据集和字段(Operator,here)。
  3. 从两个列表中的选项中选择连接类型(内部,左外部,右外部,全外部)。
  4. 在右侧列表中选择要加入的数据集和字段(此处再次为Operator)。
  5. 在对话框底部的选项中为结果新数据集指定一个有意义的名称。
  6. 单击“完成”。
  7. 编辑结果数据集以根据需要从“编辑数据集”对话框生成输出。
  8. 您只能从不超过两个现有数据集生成联合数据集。但是,联合数据集本身可以作为其他联合数据集的输入数据集包含在内 - 因此,如果需要将三个数据集连接在一起,可以通过将两个数据集连接到一个联合数据集,然后基于第一个创建新的联合数据集来实现。联合数据集和第三个原始数据集。

    没有必要对任何现有查询进行参数化以加入数据集。如果目的是限制在该数据集中返回的运算符(例如,仅返回运算符100-121),则只应包括查询中Operator的参数条件。

答案 1 :(得分:1)

您当然可以根据需要在BIRT报告上创建尽可能多的数据集。从那里,您可以创建联合数据集,以创建统一的数据视图。您的数据集中是否有共同字段可以创建连接?

如果您无法创建联合数据集,我建议您设置脚本数据集。脚本集依赖于POJO来聚合数据并应用生成所需统一视图所必需的业务逻辑。从那里你可以从POJO中将数据读入报告中,并且你已经完成了设置。