Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何基于多个数据集创建BIRT报告_Sql_Reporting Services_Report_Business Intelligence_Birt - Fatal编程技术网

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

Sql 如何基于多个数据集创建BIRT报告,sql,reporting-services,report,business-intelligence,birt,Sql,Reporting Services,Report,Business Intelligence,Birt,我需要帮助创建BIRT报告; 情况是,我有多个查询,但报告中的所有列都应按一列分组,例如: 运算符| Expr1 | Expr2 | Expr3 | Expr4| op1 | | | || op2 | | | || op3 | | | || 我怎样才能做到这一点? 我试图将操作符与数据集分开,并将其放在第一列,然后在所有quires中添加一个参数,即其中Operator=?从运算符列的当前行获取运算符。但是我无法将每个数据集中的参数值附加到运算符数据集数据集中的。 这个策略正确吗? 如果是。。我

我需要帮助创建BIRT报告; 情况是,我有多个查询,但报告中的所有列都应按一列分组,例如:

运算符| Expr1 | Expr2 | Expr3 | Expr4| op1 | | | ||

op2 | | | ||

op3 | | | ||

我怎样才能做到这一点? 我试图将操作符与数据集分开,并将其放在第一列,然后在所有quires中添加一个参数,即其中Operator=?从运算符列的当前行获取运算符。但是我无法将每个数据集中的参数值附加到运算符数据集数据集中的。 这个策略正确吗? 如果是。。我该怎么做呢。 如果没有,正确的策略是什么?
提前感谢,

您当然可以根据需要在BIRT报告上创建任意多个数据集。从中可以创建用于创建数据统一视图的联合数据集。您的数据集中是否有一个公共字段可用于创建联接


如果无法创建关节数据集,我建议设置脚本数据集。脚本化的集合依赖于POJO来聚合数据并应用生成所需的统一视图所需的业务逻辑。从那里,您将数据从POJO读取到报告中,并且您已经准备好了。

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

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

要将两个单独的数据集链接在一起,请执行以下操作:

在BIRT报告设计器的“数据资源管理器”窗格中的数据集上单击鼠标右键,然后选择“新建联合数据集”。 在“新建运动类型数据集”对话框中,从左侧列表中选择要从中联接的数据集和字段操作符。 从两个列表之间的选项中选择联接类型“内部”、“左侧外部”、“右侧外部”和“完全外部”。 再次选择数据集和字段运算符,此处为右侧列表中要加入的对象。 在对话框底部的选项中,为生成的新数据集指定一个有意义的名称。 单击Finish。 从“编辑数据集”对话框编辑结果数据集以根据需要生成输出。 只能从不超过两个现有数据集生成联合数据集。但是,关节数据集本身可以包含为其他关节数据集的输入数据集-因此,如果需要将三个数据集连接在一起,可以通过将其中两个数据集链接到一个关节数据集,然后基于第一个关节数据集和第三个原始数据集创建新的关节数据集来实现


无需对任何现有查询进行参数化以联接数据集。只有当目的是限制在该数据集中返回的运算符时,才应在查询中包含运算符的参数条件,例如仅返回运算符100-121。

Thx mystikspiral我已经有许多数据集Expr1 Expr2 Expr3,其中都有一个公共列,即运算符。我如何在找到每个数据集的地方加入10个数据集联合数据集正在连接2个数据集。那么让所有数据集在公共数据集列的值上参数化的想法呢?提示。。。一个表中的所有要求您可以通过放置?在查询文本中,然后查看数据集编辑器的Parameters部分,将参数绑定到查询。我无法在其他数据集中执行此操作,例如在查询中添加的where OperatorName=?但是如何将此参数与OperatorName数据集列值链接。。我只能附加到报告参数??请遵循URL,以防您可以回答我关于Birt的问题: