我根据用户选择的结果设置了一些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
,但为什么我不能这样做我原来有吗?
答案 0 :(得分:2)
它不起作用,因为Parameters!Parameter2.Value
实际上是一个数组,因为它是一个多选参数。所以你试图将一个数组转换为一个整数,但是不行。
您甚至可以通过执行Parameters!Parameter2.Value(1)
或数组中的项目数Parameters!Parameter2.Count
(more info)来访问单个数组元素
如果它们应该是一个整数,我建议将参数的数据类型设置为整数。这样您就可以避免进行任何可能失败的转换。