Sql Server 2008报告服务:使用两个数据集错误

问题描述:

Im建立一个使用两个数据集的报告。当我预览我觉得这些类型的错误...Sql Server 2008报告服务:使用两个数据集错误

错误19
[rsFieldReferenceAmbiguous]
文本框“Textbox3”值表达式直接指到外地“PerZipCode”没有指定的数据集聚集。当报告包含多个数据集时,数据区域外部的字段引用必须包含在指定数据集范围的聚合函数中。

什么样的聚合函数是需要的,哪里有一个选项来设置它?

最小或最大或平均等:大部分these

的总需要其他数据集减少到一个值(值等的最大值),因为你正在使用的东西不是在局部范围内(如数据集绑定到数据区域)。无法将其他DataSet中的行与本地范围DataSet匹配。

如果您的文本框是独立的(不在数据区域中),同样适用:需要聚合告诉SSRS需要采取哪一行(Max等)或对数据集进行什么计算(Avg等)

+0

一如既往gbn你回答我的问题,并解释“为什么”。再次感谢! – 2boolORNOT2bool 2011-06-15 17:43:01

+0

最后一个问题,我有另一个报告,我已经开发使用三个数据集。它工作正常,没有错误。两者之间唯一真正的推迟是我使用表达式而不是从UI中拉出字段。这是因为即时通讯显式引用数据集= =第一(Fields!RegistrationTime.Value,“DataSet1”) – 2boolORNOT2bool 2011-06-15 19:52:19

+1

首先是一个聚合和数据集1是你的范围。所以,正如MSDN所说你应该是 – gbn 2011-06-15 19:57:54

如果您要将多个数据集添加到报表中,上述内容可能无法解决您的问题。聚合时可能出现以下错误:

[rsMissingAggregateScope]文本框'textbox6'的值表达式使用不带范围的聚合表达式。除非报表恰好包含一个数据集,否则在数据区域之外使用的所有聚合需要使用范围。

你可能需要的是这样的:

First(Fields!MyField.Value, "DATASETNAME") 

,你可以通过使用表达式生成器,而不是字段从数据集拖放得到。

+0

这也是'文本框的值表达式使用没有范围的聚合表达式'错误的解决方案。 – 2016-06-02 13:07:41

要在SSRS报告上使用多个数据集值,我们需要使用下面的代码。

First(Fields!MyField.Value,“Datasetname”)。

如果键入这一点,你仍然得到同样的问题,然后在文本框中单击鼠标右键,然后选择&表达的表达点击数据集。选择你的数据集&,然后双击所需的列。点击确定后。

如果你有多个控件,然后按照同样为所有这些&通过执行报告验证的相同。

如果你已经有一个聚集并且有这个错误,可能是因为该报告的领域是不是最新的与数据集(一个或多个)。您可以通过refreshing the fields of the report解决问题。

要填充字段集合,请使用“数据集属性”对话框上的“刷新字段”按钮。 在“数据集属性”对话框关闭之前,字段集合不会显示在“报表数据”窗格中。

刷新特定数据集的字段 在“报告数据”窗格中,右键单击数据集,然后单击“数据集属性”。

注意: 如果“报表数据”窗格不可见,请在“查看”菜单上单击“报表数据”。如果窗格以浮动窗口打开,则可以停靠它。有关更多信息,请参阅如何:停靠报表数据窗格。

在“查询”窗格中,键入查询。或者,您可以使用“导入”按钮从另一个.rdl文件导入查询。 单击刷新字段。 单击确定。 在“报告数据”窗格中,展开数据集节点以查看当前定义的字段集合。