我有一个简单的SSRS报告,显示来自一个表的数据。我想要做的是从下拉列表中显示的表中有一个不同的列表供用户选择。如果我只使用一个数据集,我可以让它显示,但它会多次显示列中的值。
实施例
Bob
Bob
Bob
Cathy
Cathy
如果我创建了一个列出不同值的第二个数据集,我会收到以下错误消息:
本地报告处理期间发生错误。报告的定义无效。报告“正文”的变量表达式直接指向字段而未指定数据集聚合。当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中。
我试图效法我在这里找到的例子: http://msdn.microsoft.com/en-us/library/aa337400.aspx
第二个数据集仅用于参数列表。我不明白为什么它会导致实际报告出现问题。
答案 0 :(得分:6)
如果没有报告定义,就不可能确切地说出报告的位置,但报告中有一个项目引用了字段或数据集,并且隐含地使用报告中存在的唯一数据集,但现在不知道哪个数据集报告中添加了多次使用。
例如,在创建表时,可以设置与之关联的数据集。如果没有设置并且只有一个数据集,则无关紧要,因为只有一个可用。一旦你添加了一个新的数据集,该表就不知道要使用哪一个,你就会得到你所看到的错误。
获得错误的另一种方法是在表达式中指定一个字段,例如在某个地方的TextBox中,没有指定范围;只需将范围设置为特定的数据集,例如如果你有:
=Count(Fields!name.Value)
将其更改为:
=Count(Fields!name.Value, "DatasetToUse")
如果你只有一个数据集,那么第一个表达式将通过使用唯一可用的数据表运行正常,但是一旦你添加了另一个,它将不知道使用哪个并且它将会出错。
答案 1 :(得分:0)
在查询(SQL)中,您应该在开头添加DISTINCT
子句,这样,每个值只能获得一条记录。查看http://www.w3schools.com/sql/sql_distinct.asp
答案 2 :(得分:0)
双击包含该字段的数据集。 转到左侧的字段并删除该字段。 点击添加 - >添加新字段查询字段。 只需在字段名称和字段来源下键入新字段的名称。
通过选择"计算字段"添加字段时会发生这种情况。而不是"查询字段"来自数据集字段列表选项卡。
干杯, 艾哈迈德拉蒂夫