我有一个SSRS,它有游戏。在每个游戏中,有多个团队,然后他们被分类为进攻队和防守队。所以有一个游戏,然后有游戏细节。其中有多个团队,然后是团队的信息,无论他们是冒犯性的还是防御性的。然后,如果他们被指定为冒犯性的,他们将拥有攻击性记录和身份证。如果有防守,他们将拥有防守记录和身份证。
我根据存储过程设置了主要报告,其中包含游戏和主要游戏详细信息。然后我为团队创建了一个子报告,其中包含了团队的详细信息,无论他们是冒犯还是防守。这是一个游戏团队记录。每场比赛记录多次。所以层次结构和报告/子报告的设置如下:
在游戏报告中,我有一个tablix,包含字段,然后是一个额外的tablix行,并且列合并了列。我在其中放置了一个子报表对象,并将其设置为Game Teams报表对象。
子报表属性的参数集名称为GID(匹配子报表参数名称)和值= ID(即GID字段)。
游戏团队报告中有一个Tablix,其中包含详细信息字段,然后是2个额外的Tablix行,每个行都合并了列。一个在子报表对象中设置了攻击性报告,另一个在子报表对象中设置了防御性报告。其中每个参数都与其存储过程具有相同的GID参数,然后我设置了一个GTID参数,并将Game Teams报告中的参数链接到Game Teams数据集中的GTID字段。
我可以让报告运行,但链接似乎没有正确地提取数据。我一直在研究这个问题,但它太令人困惑了。
当我在游戏团队 - 进攻性/防御性报告中设置GTID报告参数时,我不知道如何告诉报告当此参数链接到游戏团队报告时,子报告应该过滤数据集结果到GTID领域。
我希望我所说的有道理。这是我第一次尝试做SSRS子报告,这太令人困惑了。我已经在水晶报告中,过去和Access中完成了它们。您将字段链接到字段。我不明白你为什么不在SSRS中这样做。
答案 0 :(得分:0)
我不知道你在Crystal中做了什么,但在SSRS中它非常简单。
在“子报告”属性中,单击参数中的省略号,您将看到一个对话框。对于子报表所期望的每个参数(它们位于name
列中),您提供一个value
,告诉报告传递给该参数的子报表的内容。您可以使用每个值旁边的fx
按钮来帮助您构建表达式。
如果你已经尝试了这个并且没有得到预期的结果,你可以向我们展示参数对话框的截图,并解释你想要得到的东西。
答案 1 :(得分:0)
我发现了我的问题!!!我在子报表-GTID中创建了报表参数。为了将它链接到子报告中的字段,我转到了该报告的数据集属性,添加了一个过滤器,从数据集字段中选择了GTID字段,选择了" In"然后单击fx并选择GTID参数值。
设置此项后,您无法在其上运行子报表,除非您将该报表参数保留为可见,因此您可以指定一个值。
主要报告中的所有其他内容都是正确的,除非将主报告分组,然后进行详细分组,如果您在表格或Tablix中有内容,那么这样做很好。我将子报表放在一个详细信息行中,所有单元格都已合并。我设置子报告属性参数,以将GTID子报告参数链接到主报告数据集字段中的GTID字段。
瞧!