我是SSRS的新手,我想创建一个减去两列的计算字段。但是,我在SSRS处理的每一列中都有一些空白字段,如零。如果任一字段为空,我希望SSRS创建一个n / a结果,但如果BOTH列中有值,则减去两个字段。也许是一个"如果没有"语句"
我想出了这个,但是如果两列都有空白,则只生成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
提前谢谢。
答案 0 :(得分:2)
使用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))
答案 1 :(得分:0)
试试这个:
=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")