Reporting services SSRS中的嵌套IIF语句

Reporting services SSRS中的嵌套IIF语句,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我对SSR上的简单嵌套IIF语句有问题。我试着做第二部分,如果数字是一个“-”,那么它应该返回一个“-” =IIF(字段!fbrt\u number.Value

我对SSR上的简单嵌套IIF语句有问题。我试着做第二部分,如果数字是一个
“-”
,那么它应该返回一个
“-”

=IIF(字段!fbrt\u number.Value<“0”,字段!fbrt\u number.Value,“+”


谢谢

不清楚你到底想要什么。我假设您想在所有数字(包括正数和零)前面加一个符号

以下是您的代码当前的功能:

  • fbrt\u编号
    的值与字符串“0”进行比较
  • 根据结果显示字段值或加号
你是不是在追求这个:

=IIF(Fields!fbrt_number.Value < 0, 
     "-" + Fields!fbrt_number.Value.ToString(),
     "+" + Fields!fbrt_number.Value.ToString())
=IIF(字段!fbrt_number.Value<0,
“-”+字段!fbrt_number.Value.ToString(),
“+”+字段!fbrt_number.Value.ToString())
这将根据结果前缀a“-”或“+”,将字段值与数字0进行比较

或者,如果要仅显示“+”表示正值,显示“-”表示负值:

=IIF(Fields!fbrt_number.Value < 0, 
     "-",
     "+")
=IIF(字段!fbrt_number.Value<0,
"-",
"+")
最后,如果您想要0的空字符串,则这将起作用:

=IIF(Fields!fbrt_number.Value < 0, 
     "-",
     IIF(Fields!fbrt_number.Value > 0, "+", ""))
=IIF(字段!fbrt_number.Value<0,
"-",
IIF(字段!fbrt_number.Value>0,“+”,“))

请注意,如果您的字段实际上不是一个数字,您可能需要首先强制转换它(在数据集查询中,或使用SSRS表达式)。

这会返回“+”或“-”,但我不需要实际值。我只想返回“+”或“-”就够了,我的答案中也添加了这些选项。谢谢。我也做了同样的事情,但是我错过了
,因此我被卡住了。作为一个一般性问题,为什么结尾需要双引号?
IIF
有三个参数,分别是一个测试,“if true”值和“if false”值。最后一个“”涵盖了值为零且输出应为空字符串(即无符号)的情况。谢谢,我从未在Excel中使用过此选项,因此产生了混淆。