SSRS多值参数未过滤

时间:2015-06-09 19:05:47

标签: reporting-services ssrs-2012

我根据用户选择的结果设置了一些Parameters,但是当我从多值Parameter中选择我的报告错误Failed to evaluate the FilterValues of the DataSet 'DST_MyThirdDataSet'

我的第一个DataSet名为DST_MyFirstDataSet,用于创建名为Parameter的列表Parameter1

根据DataSet中选择的内容过滤我的第二个名为DST_MySecondDataSet的{​​{1}}。我的过滤器如下所示:

Parameter1

这是我用于名为Expression [DataSet1Id] Integer = CInt(Parameters!Parameter1.Value) 的第二个Parameter这是一个多值参数。这似乎工作正常。

我的第三个Parameter2被称为DataSet,我根据DST_MyThirdDataSet中选择的内容对其进行了过滤。我的过滤器如下所示:

Parameter2

我在网上看到的任何地方似乎都支持我所拥有的(使用Expression [DataSet2Id] Integer In CInt(Parameters!Parameter2.Value) 运算符并使用In),但我似乎仍然遇到这个愚蠢的错误。

有谁看到我在哪里可能会出错?

修改

似乎有效,如果不是将Parameters!Parameter2.Value转换为Parameter,而是将Integer转换为Field,但为什么我不能这样做我原来有吗?

1 个答案:

答案 0 :(得分:2)

它不起作用,因为Parameters!Parameter2.Value实际上是一个数组,因为它是一个多选参数。所以你试图将一个数组转换为一个整数,但是不行。

您甚至可以通过执行Parameters!Parameter2.Value(1)或数组中的项目数Parameters!Parameter2.Countmore info)来访问单个数组元素

如果它们应该是一个整数,我建议将参数的数据类型设置为整数。这样您就可以避免进行任何可能失败的转换。 parameter data type configuration