我有一个包含大量报告的大型项目,但报告中的项目非常标准,可以通过参数重复使用。所以我做了子报告,没关系。现在我通过手工添加子报告来组装报告,并手动设置参数。
我认为这不够灵活,我希望有一个表定义报告的结构:每个子报告一行,指定名称及其参数值。然后通过按名称调用和插入子报表,将报表组合在运行时列表或类似内容中。
有可能吗?
答案 0 :(得分:1)
我想不出一种方法来动态组合这样的报告,而不编译会生成所需RDL的内容,将其上传到报表服务器然后执行报表。
另一种选择可能是创建一个主报表,其中包含所有可能的子报表。然后,您可以使用表来控制每个子报表的可见性,以模拟生成不同的报表。显然,您不希望对隐藏的子报表执行长时间运行的查询,因此您必须向所有子报表添加一个参数,以便在隐藏子报表时数据集不返回任何数据,例如
WHERE
(....) OR (@SubReportHidden = 'Hidden' AND 1=0)