【问题标题】:SSRS IF Statement with incorrect syntaxSSRS IF 语句语法不正确
【发布时间】:2018-11-08 11:12:10
【问题描述】:

我是 SSRS 的新手,发现语法非常困难,而且表达式文本框很糟糕,很难看出我在哪里犯了错误。

我想做 IFF (First(Fields!TaxNumber.Value, "InvoiceHeader") = null,然后只打印 IS02Chars.value,否则同时打印 IS02Chars 和 TaxNumber.Value。

  =IFF (First(Fields!TaxNumber.Value, "InvoiceHeader") = null ,
  ": " & First(Fields!ISO2Chars.Value, "InvoiceHeader"), 
  ": " & First(Fields!ISO2Chars.Value, "InvoiceHeader") & First(Fields!TaxNumber.Value, "InvoiceHeader"))

我看不出我的语法与 IIF(Fields!ExitReason.Value = 7, 1, 0) 有何不同

【问题讨论】:

  • 您需要添加第二部分,因为 IIF 条件结果为 FALSE。在双右括号前加逗号,输入不为空时需要返回的内容
  • 我不能做 IFF NULL show IS02Chars else Show IS02Chars AND TaxNumber 吗?第二部分充当我的非空
  • 这些是数值吗?如果是这样的话。如果要与其他值连接,则需要将它们转换为字符串 (Cstr)...
  • @Greg2 我确定=IFF 的语法不正确,它通常应该是=IIF。另外,如果您的值是数字,那么您会想按照 Miguel 所说的进行转换,然后再将它们连接起来。
  • @Greg2 我完全错过了=IFF!好点子! :-)

标签: if-statement reporting-services syntax expression


【解决方案1】:
  =IIF(IsNothing(First(Fields!TaxNumber.Value, "InvoiceHeader")), ": "
 & First(Fields!ISO2Chars.Value, "InvoiceHeader") , ": " &
 First(Fields!ISO2Chars.Value, "InvoiceHeader") &
 First(Fields!TaxNumber.Value, "InvoiceHeader" ) )

【讨论】:

  • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
相关资源
最近更新 更多