2

我有一个简单的 SSRS 报告,它显示一个表中的数据。我想要做的是在下拉列表中显示一个与该表不同的列表供用户选择。如果我只使用一个数据集,我可以显示它,但它会多次显示列中的值。

例子

Bob
Bob
Bob
Cathy
Cathy

如果我创建将列出不同值的第二个数据集,则会收到以下错误消息:

本地报告处理期间发生错误。报告的定义无效。报表“正文”的变量表达式直接引用该字段,而不指定数据集聚合。当报表包含多个数据集时,数据区域之外的字段引用必须包含在指定数据集范围的聚合函数中。

我正在尝试遵循我在这里找到的示例:http: //msdn.microsoft.com/en-us/library/aa337400.aspx

第二个数据集仅用于参数列表。我不明白为什么它会导致实际报告出现问题。

4

3 回答 3

6

如果没有报表定义,就无法准确判断在哪里,但报表上有一个项目正在引用字段或数据集,并且隐式使用报表中存在的唯一数据集,但现在不知道要使用哪个数据集报告中添加了多个。

例如,当您创建一个表时,您可以设置一个与之关联的数据集。如果未设置且只有一个数据集,则无关紧要,因为它将采用唯一可用的数据集。添加新数据集后,该表不知道要使用哪个数据集,您将收到您所看到的错误。

另一种获取错误的方法是在表达式中指定一个字段,例如在报告中某处的 TextBox 中,而不指定范围;只需将范围设置为特定的数据集,例如,如果您有:

=Count(Fields!name.Value)

将其更改为:

=Count(Fields!name.Value, "DatasetToUse")

如果您只有一个数据集,则第一个表达式将通过使用唯一可用的表达式运行良好,但是一旦添加另一个,它将不知道该使用哪个并且会出错。

于 2013-01-10T22:38:32.420 回答
0

在查询(SQL)中,您应该DISTINCT在开头添加子句,这样,每个值您只会获得一条记录。查看http://www.w3schools.com/sql/sql_distinct.asp

于 2013-01-14T11:31:32.067 回答
0

双击包含该字段的数据集。转到左侧的字段并删除该字段。通过单击添加 -> 查询字段来添加新字段。只需在字段名称和字段来源下输入新字段的名称即可。

当您通过从数据集字段列表选项卡中选择“计算字段”而不是“查询字段”来添加字段时,就会发生这种情况。

干杯,艾哈迈德·拉蒂夫

于 2017-02-17T01:47:33.740 回答