参数缺少值ssrs 2008

时间:2012-06-23 10:22:06

标签: reporting-services ssrs-2008

我有一个隐藏的整数数据类型的参数。当我运行报告时,报告给我一个错误

  

参数X缺少值

但是,如果我让参数可见,它就可以了。我尝试提供默认值0但这不足以满足我的要求,因为我有子报告(Drill-dowm)依赖于此参数。请帮忙。谢谢!

10 个答案:

答案 0 :(得分:14)

确保您没有为参数指定可用值。内部参数和隐藏参数的可用值应为“无”。

答案 1 :(得分:5)

首先,

转到报告参数属性,检查参数' s - 可用值

不得指定任何值。所以我们应该将其设置为

第二个解决方法是,

只需在报告参数属性中的默认值中的指定值处添加空格。

这肯定有用。希望它能节省你的时间。

答案 2 :(得分:4)

我不得不做一个“如果存在”的声明,让它消失。它对我有用,因为它使得它总是返回一个值,即使我的查询不需要该值。

    if exists (my select query)
    my select query
    else 
    select '2' 
    // '2' would never be used, but it made ssrs stop giving me
    // the stupid error and execute the rest of the query

答案 3 :(得分:3)

如果从查询中指定可用值,则默认值必须位于可用值列表中。 (可用)中的默认值= true。

答案 4 :(得分:2)

如果您的参数依赖于另一个没有"默认值"的参数,也会出现问题。在数据集查询中,不承认空值。

例如:

参数1 具有默认值:数据集中的NameEmployee" EmployeeSearch"

但数据集" EmployeeSearch"在名为@Month的查询中包含一个过滤器或参数,用于指示月份的编号。因此,如果@Month的值为null,则SSRS将说"参数缺少值"。

答案 5 :(得分:1)

假设您遇到了与我相同的问题,尝试使用ReportViewer组件在网页上运行报表,我设法通过在呈现报表之前添加null参数来修复该问题:

C#代码:

var parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("ParameterName", (string)null));
ReportViewer1.ServerReport.SetParameters(parameters);

希望有所帮助

答案 6 :(得分:1)

只需添加1个默认值即可解决此错误(即使永远不会使用该默认值)。

- 在该特定参数的“报告参数属性”下,转到“默认值”页面。

-Toggle“指定值”

- 添加一个值(我添加了:“just_a_filler_to_get_around_hidden_​​value_error”所以当我稍后回顾它时,我记得为什么我做了这样的事情)

- 点击确定

答案 7 :(得分:0)

我想添加到dmbreth的CORRECT答案。

我错过了参数值仍然需要与某些东西联系在一起的概念。最初,我通过使用参数属性的可用值部分来绑定数据集的输出,但根据dmbreth的回答,情况并非如此。最后,我将输出依赖设置从可用值部分移动到默认值部分,这样就完成了。

总而言之,在参数属性对话框中:

常规页面 - 允许选中多个值(此选项特定于我的应用程序),参数可见性设置为内部

可用值页面 - 无

默认值页面 - 从查询中获取值,[适当的数据集,此处的值]

高级页面 - 这里没有意义

希望这很明显足以让其他人有同样的问题......

答案 8 :(得分:0)

我有一个类似的问题,SSRS设置的默认值为(Null),但是我的报告不需要该参数;我发现筛选列表很有用,所以我保留了它,我想我可以在数据集配置的SSRS中删除它。但是我改为将其更改为=System.DBNull.Value(我想这可能是任何表达式)并且对我有用,因此如果需要的话,我仍然可以传递一个值,并设置可用值(必须确保为NULL)值已添加到我的数据集中),如果我随后决定取消隐藏。

答案 9 :(得分:0)

这里还有另一种潜力。我遇到了报表设计器无法工作但服务器报表对象不能工作的情况。解决方案是删除服务器对象,然后从设计器中重新保存它。