Reporting services 参数缺少值ssrs 2008
我有一个整数数据类型的参数,它是隐藏的。当我运行报告时,报告给我一个错误 参数X缺少一个值Reporting services 参数缺少值ssrs 2008,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我有一个整数数据类型的参数,它是隐藏的。当我运行报告时,报告给我一个错误 参数X缺少一个值 但是,如果我使参数可见,它就会工作。我尝试提供默认值0,但这不足以满足我的要求,因为我的子报表(Drill dowm)依赖于此参数。请帮忙。谢谢 确保没有为参数指定可用值。内部和隐藏参数的可用值应为“无”。假设您与我有相同的问题,尝试使用ReportViewer组件在网页上运行报表,我通过在呈现报表之前添加一个null参数来解决该问题: C#代码: var parameters = new List<
但是,如果我使参数可见,它就会工作。我尝试提供默认值0,但这不足以满足我的要求,因为我的子报表(Drill dowm)依赖于此参数。请帮忙。谢谢 确保没有为参数指定可用值。内部和隐藏参数的可用值应为“无”。假设您与我有相同的问题,尝试使用ReportViewer组件在网页上运行报表,我通过在呈现报表之前添加一个
null
参数来解决该问题:
C#代码:
var parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("ParameterName", (string)null));
ReportViewer1.ServerReport.SetParameters(parameters);
var参数=新列表();
Add(newreportParameter(“ParameterName”,(string)null));
ReportViewer1.ServerReport.SetParameters(参数);
希望这会有所帮助我必须做一个“如果存在”的陈述,才能让这一切消失。它对我有效,因为它使它始终返回一个值,即使我的查询不需要该值
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
我想补充一下dmbreth的正确答案 我忽略了一个概念,即参数的值仍然需要绑定到某个对象。最初,我使用参数属性的可用值部分绑定数据集的输出,但根据dmbreth的回答,情况并非如此。最后,我将我的输出相关性设置从可用值部分移动到默认值部分,这就成功了 总之,在参数属性对话框中: 常规页面-允许选中多个值(此选项特定于我的应用程序),参数可见性设置为内部 可用值页-无 默认值页面-从查询中获取值,[适当的数据集,此处的值] 高级页面-此处无意义
希望这一点足够清楚,可以让其他有同样问题的人受益……只需添加1个默认值即可绕过此错误(即使该默认值永远不会被使用) -在该特定参数的“报告参数属性”下,转到默认值页面 -切换“指定值” -添加一个值(我加了一句:“只需添加一个填充物,就可以得到一个隐藏的值,错误”,所以当我稍后回顾时,我记得我为什么要做这样的事情)
-单击“确定”如果从查询中指定可用值,则默认值必须在可用值列表中。默认值(可用)=true。首先 转到“报告参数属性”,检查该参数的-可用值 不能为其指定任何值。因此,我们应该将其设置为None 第二个解决办法是 只需在报告参数属性的默认值中的指定值处添加一个空格即可
这肯定会奏效。希望这能节省你的时间 如果数据集查询中有一个参数依赖于另一个参数,而该参数没有“默认值”,并且不允许空值,那么问题也会出现 例如: 参数1有一个默认值:数据集“EmployeeSearch”中的NameEmployee
但是数据集“EmployeeSearch”在名为@Month的查询中有一个过滤器或参数,用于指示月份数。因此,如果@Month的值为null,SSRS会说“参数缺少一个值”。我有一个类似的问题,SSRS设置的默认值为
(null)
,但是我的报告不需要该参数;我发现过滤列表对测试很有用,所以我保留了它,我想我可以在数据集配置的SSRS中删除它。但是我将它改为=System.DBNull.Value
(我想这可能是任何表达式),这对我来说都是有效的,因此如果我以后决定取消隐藏,我仍然可以在需要时传入一个值,并设置可用值(必须确保将NULL值添加到我的数据集中)。这里还有一个可能性。我遇到过这样的情况:报表设计器可以工作,但服务器报表对象不能工作。解决方案是删除服务器对象,然后从设计器中重新保存它。Hmm?如果您有一个既隐藏又必需的参数,则必须通过其他方式提供一个值。如果您正在这样做,请扩展您的答案,并告诉我们您是如何做到这一点的。如果没有这些信息,我们将无法进一步帮助您…如果必须从数据库中检索默认值(使用数据集),该怎么办?将可用值设置为“无”无效。