1

我的 tablix 中的排序公式有问题。排序总是如下:

cint(Fields!KeyForRows.Value)

但现在这些字段可以包含字母数字值。所以我尝试将其更改为:

iif(Parameters!DrillMain.Value ="...", Fields!KeyForRows.Value, cint(Fields!KeyForRows.Value))

但这不起作用。据我了解,这是因为我的案例排序是 Fields!KeyForRows.Value,它检查条件的另一部分并且验证失败,我需要将排序保留为整数。

4

1 回答 1

1

是的,你对 iif 逻辑是正确的 - 它计算了两个语句。作为一种解决方法,您可以定义您的自定义 IIF 或编写您的表达式,如下所示:

IIF(Parameters!DrillMain.Value ="...", Fields!KeyForRows.Value, 
          cint(IIF(Parameters!DrillMain.Value ="...", Nothing, Fields!KeyForRows.Value)))

感谢第二个嵌套 iif 您永远不会将无效数据传递给 CInt 函数。如果 KeyForRows 是字母,那么在 CInt 中你传递 Nothing 而不是 KeyForRows 值。

于 2013-02-14T13:54:24.560 回答