评估 SSRS 中两列的 iif 语句

iif statement that evaluates two columns in SSRS

我是 SSRS 的新手,我想创建一个计算字段来减去两列。但是,我在每一列中都有一些空白字段,SSRS 将其处理为零。如果任一字段为空,我希望 SSRS 创建一个 n/a 结果,但如果两个列中都有一个值,则减去这两个字段。也许是 "if nothing" 声明"?

我想到了这个,但如果两列都有空白,则只生成 n/a:

=iif(Fields!Prior_A1c.Value <> 0 OR Fields!A1c.Value <> 0, (Fields!A1c.Value-Fields!Prior_A1c.Value), "n/a")

这是我想要的样子([差异] 是计算的列):

 A1C       Prior A1c      Difference
   7          5              2
              6             n/a
   6                        n/a
   5          6             -1

提前谢谢你。

试试这个:

=iif(Fields!Prior_A1c.Value <> 0 OR Fields!A1c.Value <> 0, (
iif(Fields!A1c.Value=Nothing,0,Fields!A1c.Value) - iif(Fields!Prior_A1c.Value=Nothing,0,Fields!Prior_A1c.Value)
), "n/a")

使用Isnumeric(Fields!Prior_A1c.Value)IsNothing(Fields!Prior_A1c.Value) 来测试您的空字符串。

此外,我认为您的 IIF 逻辑不应该是这样。你是说如果你的任何一列不是 0 那么做减法,当我认为你想要如果任何一个是空白/空然后使用 NA 否则做减法。我想你想要这样:

=iif(IsNothing(Fields!Prior_A1c.Value) OR IsNothing(Fields!A1c.Value),"N/A",(Fields!A1c.Value-Fields!Prior_A1c.Value))