SSRS多值参数不过滤

SSRS Multi-Value Parameter Not Filtering

我尝试根据用户 select 的结果设置一些 Parameters,但是当我 select 从我的多值 [=13] =] 我的报告错误 Failed to evaluate the FilterValues of the DataSet 'DST_MyThirdDataSet'

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

我的第二个 DataSet 名为 DST_MySecondDataSet 是根据 select 在 Parameter1 中编辑的内容过滤的。我的过滤器看起来像这样:

Expression [DataSet1Id] Integer = CInt(Parameters!Parameter1.Value)

这是我在第二个 Parameter 中使用的 Parameter2,它是一个多值参数。这似乎工作正常。

我的第三个 DataSet 称为 DST_MyThirdDataSet,我已将其设置为根据 Parameter2 中 select 编辑的内容进行过滤。我的过滤器看起来像这样:

Expression [DataSet2Id] Integer In CInt(Parameters!Parameter2.Value)

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

有没有人看到我可能哪里出错了?

编辑

如果我不将 Parameter 转换为 Integer,我似乎可以将 Field 转换为 String,但为什么我不能这样做我原来的方式?

不行,因为Parameters!Parameter2.Value实际上是一个数组,因为它是一个多select参数。因此,您尝试将数组转换为整数,但这行不通。

您甚至可以通过执行 Parameters!Parameter2.Value(1) 或数组中的项目数 Parameters!Parameter2.Count (more info)

来访问单个数组元素

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