我有一个隐藏的整数数据类型的参数。当我运行报告时,报告给我一个错误
参数X缺少值
但是,如果我让参数可见,它就可以了。我尝试提供默认值0但这不足以满足我的要求,因为我有子报告(Drill-dowm)依赖于此参数。请帮忙。谢谢!
答案 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)
这里还有另一种潜力。我遇到了报表设计器无法工作但服务器报表对象不能工作的情况。解决方案是删除服务器对象,然后从设计器中重新保存它。