如何在SSRS文本框的Expression属性中测试两个字段值?

时间:2016-06-02 21:17:50

标签: vb.net reporting-services ssrs-expression

我在文本框中成功使用了这个表达式:

=IIF((Fields!Week.Value="WK1"),Fields!Price.Value,"")

我需要更细化 - 不仅是我在为此特定列寻找周值“WK1”,而是在为其分配价格字段的值之前,还要基于单位字段的值。

所以我希望像这样的表达式能够起作用:

=IIF((Fields!Week.Value="WK1" && Fields!Unit.Value="Rock Bottom"),Fields!Price.Value,"")

......或者这个:

=IIF(((Fields!Week.Value="WK1") && (Fields!Unit.Value="Rock Bottom")),Fields!Price.Value,"")

...但是当我尝试在其中任何一个之后预览结果时,我得到了,“报告预览失败,因为无法生成报告。请在错误列表窗口中读取错误,警告和消息对于特定的构建失败。

该消息是:

  

[rsCompilerErrorInExpression] textrun的Value表达式   'TextboxCraftworksPriceWk1Data.Paragraphs [0] .TextRuns [0]'包含一个   错误:[BC30201]表达预期。

因此它表达了预期的表达;这些表达式如何不是表达式?

现在我已经让John Mellencamp的“ Without Expression ”调整了我的脑海。

1 个答案:

答案 0 :(得分:2)

  

来自Expression Reference (Report Builder and SSRS)
  表达式必须具有有效的 Visual Basic语法才能发布或处理报告。

考虑到这一点,您应该logical And operator使用@alejandro-zuleta作为comments中指出的SSRS Expressions: Part 1 - Program Flow

=IIF((Fields!Week.Value="WK1" And Fields!Unit.Value="Rock Bottom"), Fields!Price.Value, "")

有用的链接