2011-10-17 165 views
5

我正在SSRS 2008中开发RDL,并试图将子报表直接移动到主报表中,以便我在与主报表相同的存储过程中运行此子报表。
但是,我遇到了困难。我得到了存储过程成功运行。但现在当我尝试将此表复制到主报告中时,出现以下错误:SSRS详细成员只能包含静态内部成员。

Error 1 [rsInvalidDetailDataGrouping] The tablix ‘table2’ has a detail member with inner members. Detail members can only contain static inner members. \\operations\userfiles\R15D\Documents\Visual Studio 2008\Projects\Test\Test2\DischargePlan.rdl 0 0 

Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope 

我该如何做?我尝试过在互联网上找到的各种解决方法,但都没有奏效。我尝试将表移动到组级别并删除细节分组。我已经删除了排序元素等,但我得到这个错误消失的唯一方法是删除此表和所有文本框值的所有分组。

回答

7

如果这些是从同一个SP返回的,那么你应该只有一个Detail组(和一个Tablix)。

对于数据集返回的每一行,细节组(在外部tablix上)将重复一次。包含在同一行数据集中的tablix没有意义:它会重复什么?

这听起来像你需要将你的两个tablixes合并为一个,而不是在另一个中嵌套。

最简单的方法可能是将一个组添加到父项tablix中,这将取代原先的详细组。它可能会根据您加入到您的旧子报表数据集(或类似的东西)的任何字段进行分组。

然后将您的旧子报表字段放入详细信息行中。