如何从“基准”SSRS报告向辅助报告提供报告参数?
我需要有几个(四个)报告,除了特定参数的值之外,它们是相同的。不过,我不希望用户必须手动输入所有参数。如何从“基准”SSRS报告向辅助报告提供报告参数?
当他们进入下列参数:
BEATLES
-------
BegDate: 1962
EndDate: 1970
Unit: Beatles
我要四份报告中运行,使用这些参数:
LENNON
------
BegDate: 1962
EndDate: 1970
Unit: John Lennon
MCCARTNEY
---------
BegDate: 1962
EndDate: 1970
Unit: Paul McCartney
HARRISON
--------
BegDate: 1962
EndDate: 1970
Unit: George Harrison
STARR
-----
BegDate: 1962
EndDate: 1970
Unit: Ringo Starr
因此,当用户输入三个参数,前两个(”日期“)参数以及适当的辅助报告”单位“参数(第一个为”John Lennon“,第二个为”Paul McCartney“等)。
报告“机器人”在该人进入单元的“甲壳虫”之后对自己说:“哦,他进入了'披头士'!所以我会通过'约翰列侬'作为Unit参数给第一份报告' Paul McCartney'作为第二份报告的单位参数“(等等)。
我试图几乎最相同的存储过程中提供文字值(在一定程度上here为阐述这样做,但它并没有在所有的工作。
所以我在寻找一些其他的在同一表面上放置多个相关但不同的报告,最终目标是在Excel中运行并导出时,每个报告(LENNON,MCCARTNEY等)都显示在Excel文件的自己的工作表中
现在,我只需要知道如何从一个报告(“BEATLES”)向其他人(“LENNON”等)传递适当的参数。全部嵌入在一个报告项目/页面中,但也许他们需要成为一个报告,然后是一堆子报表(如果你正在阅读这个报告,你可能比我做内部工作和SSRS的变幻莫测更好)。
那么,如何从“基础”SSRS报告中向辅助(子)报告提供报告参数?还是有另一种/更好的方法来实现这一点?
我有一个可能适合您的解决方案。
用上面提到的3个参数创建一个报告。添加到报表中的数据集,将采取3个参数,并返回一个数据集与此类似:
Band Member Start End Page Beatles John Lennon 1962 1970 LENNON Beatles Paul McCartney 1962 1970 MCCARTNEY …
报告的身体从工具箱中添加一个列表。将列表的数据集名称设置为上述数据集的名称。在行组痛苦中,将会有一行标记为(详细信息)列表。右键单击该行并从上下文菜单中选择“组属性”。添加一个新组,并选择Page
作为要分组的列。转到组属性对话框的分页符部分,并检查组的每个实例。如果您喜欢,请添加排序,然后单击确定按钮。
确保已选中行组中的(详细信息)行,然后在属性痛苦中查找组选项。展开它,然后查找“页面名称”设置。添加表达式转换成类似这样的领域(屏幕下方帽,太):
=Fields!Page.Value
这将使报告中的每个页面都有这个值作为名称。所以,当你将它导出到Excel时,每张表都会有基于这个值的自己的名字。
在列表中添加文本框,并将它们的值设置为您在每个页面上需要的字段。在这种情况下,Page
,Start
,End
和Member
。如果您想要与您的问题相匹配,请添加标签。
只要数据集在您选择正确的参数时返回4个预期行,最终应该有一个包含4个页面的报告,每个带组成员一个。当您将其导出到Excel时,您将拥有4张工作表,并且他们应该具有Page
字段中的名称。
希望这可以帮助你!
https://technet.microsoft.com/zh-cn/library/ms160348(v=sql.100).aspx – Tarzan