Eli*_*ias 14 report subreport reporting-services ssrs-2008
我有一个包含多个子报告的主报告,每个报告的查询略有不同,并且显示数据的方式也不同.
因此,在我的情况下,我有一个文本框,需要从不同的报告中编写数据,这些报告具有不同的标准.例如
MainReportTextbox =(Sum(columnA, "Main Dataset"))-(SubReportTextBox))
Run Code Online (Sandbox Code Playgroud)
要么
MainReportTextbox =(Sum(columnA, "Main Dataset"))-(subReportVariable))
Run Code Online (Sandbox Code Playgroud)
我看到了一些建议的解决方案,比如这个.哪个使用该=[Reports]!MainReport!SubReport!Textbox方案.问题是它[Reports]不是公认的标识符.
我确实考虑废弃子报告,只是让所有内容都在同一个主报表上运行,但我们失去了能够单独使用报表的功能,而不会在两个地方保持相同的功能.
所以我想我的问题是,你能从子报告中提取变量或元素(特别是表格中的文本框)吗?
如果答案是根本没有,请告诉我,为什么它是没有或者它是如何从没有MSDN或有效来源,并给出一些有效的反建议的一些信息.
问题和评论中的链接有时指的是非SSRS报告:语法[subreport].[Report]![MyFieldName]或未[Reports]![YourReportName]![YourSubReportName]![TheValueFromTheSubReportYouWantToReference]在SSRS中使用.然而,它被用于设计MS Access报告,正如ojeffrey在您链接的讨论中指出的那样.
没有通用的方法来访问子报表中的数据.SSRS模型是处理父报表数据,处理子报表数据,渲染子报表,结果返回到父级,然后渲染父级,包括适当的子报表.两者之间传递的唯一数据是参数传递到子报表,渲染输出传递回父级.您将看到从父项传入的数据必须作为报告参数:http://technet.microsoft.com/en-us/library/ms160348(v = sql.100).aspx
子报表所需的所有参数都必须包含在"参数"列表中.如果缺少必需参数,则子报表无法在主报表中正确显示.
引用权威来源: 本讨论总结如下:
不,不允许引用子报表中的报表项.
但这有点旧,微软员工和MS BI MVP提供了最近关于解决方案的讨论:
您将需要将子报表项替换为列表,表或矩阵等数据区域,以便能够获得您正在寻找的正确引用.
[跳到另一个帖子] ......
现在,您似乎想要计算主报表和子报表之间的差异.另外,因为它们有不同的数据源,所以你不能使用nest table/matrix/list,对吧?如果是这样,我可以想到的一个解决方法是将参数传递给子报告并计算子报告中的总/小计.我的意思是,创建几个隐藏/内部参数,通过参数将值从主报告传递到子报告,然后计算总数/小计.
Jeroen对链接问题的回答指向了我将要采用的方向:使用"共享数据集"并在数据集执行缓慢时启用缓存.然后,可以将相同的数据集执行用于父节点和子节点.这可以更改参数的使用:它们通常会从SQL查询移动到报表中数据集的过滤器.
但是通过SSRS 2008R2中引入的Lookup功能,您可以非常灵活地处理数据集之间的报表级别连接.
我如何设计这个的细节在很大程度上取决于需要多少其他数据来回传递,以及报告的查询如何巧妙地编织在一起.
| 归档时间: |
|
| 查看次数: |
19716 次 |
| 最近记录: |