2014-04-01 132 views
1

在SSRS 2008 R2现有报告中,我将一个名为'SchoolYear'的新参数传递给现有报告。我从下面的语句=(Fields!SchoolYear.Value)中获得了针对数据集DS_Main的SchoolYear的值。ssrs 2008错误地传递参数值

我收到错误消息“The SchoolYear'参数缺少值”当被调用的SSRS报告正在运行时。当我在被调用的ssrs报告中“硬编码”学年值时,被调用的报告就会运行。

当我在数据集DS_Main中运行sql时,我得到所有种类的行并且所有行都包含数据。

当我说要使用空值时,调用的报告运行。 因此我不知道为什么'SchoolYear'参数没有传递一个值。你能告诉我我能做些什么来确定 是什么导致了这个问题?

回答

0

您不能在报表对象(例如Tablix)中使用表达式引用默认值中的字段或数据集。这里是你想要做的:

  1. 在SchoolYear参数属性窗口,默认值选项卡上,选择Get values from a query
  2. Dataset:下拉菜单中选择DS_Main
  3. Value:下拉菜单中选择SchoolYear

如果DS_Main返回多个SchoolYear值,并且SchoolYear参数不允许多重选择,则只有第一行SchoolYear值将传递给该参数。如果您想将所有可能的SchoolYear值作为默认值传递(并且您的参数允许多选),那么我会创建一个单独的查询,它只返回一个非空的清单列表。

+0

谢谢,解决了我的问题 – user1816979

+0

非常欢迎!我很乐意提供帮助! :) 请考虑将此标记为答案并对其进行投票。谢谢。 –