现场不同结果的不同 "IF" 陈述 - SSRS

Different "IF" statement for different outcomes in field - SSRS

美好的一天,

我正在创建一个报告,我想根据字段中的变量分配一个唯一的"IF"语句。

比如在一列中,如果一行显示"MCAD",我想让它在它旁边的列中计算这个公式:

iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," ")

如果该行显示 "RGAD",我希望它在它旁边的列中计算此公式:

iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," ")

等等……

我理解以下表达是不正确的,但它可能会让大家明白我的意图:

=iif(Fields!OfficerCode.Value="mcad",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," "),"")

,iif(Fields!OfficerCode.Value="rgad",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),"")

,iif(Fields!OfficerCode.Value="srf",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-3427940)/3000000," "),"")

,iif(Fields!OfficerCode.Value="maf",(iif(Fields!jhapostingdate.Value>"12/30/2016",(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),"")

是否有特定的函数或表达式?

欢迎任何意见!

您可以使用 Switch:

来简化它
=Switch(
Fields!OfficerCode.Value="mcad",
  iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-1803418)/6000000," "),
Fields!OfficerCode.Value="rgad",
  iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),
Fields!OfficerCode.Value="srf",
  iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-3427940)/3000000," "),
Fields!OfficerCode.Value="maf",
  iif(Fields!jhapostingdate.Value>DateSerial(2016,12,30),(Sum(Fields!CurrentBalance.Value)-6977142)/10000000," "),
true,""
)

还可能需要使用 DateSerial 函数来创建硬编码日期:

DateSerial(2016,12,30) 将产生 12/30/2016 日期,而 "12/30/2016" 只是一个字符串。您也可以使用 CDate("2016-12-30").

如果有帮助请告诉我。