在其中一份报告中,我们得到零除错误。我们想要的是,如果上一年的值为0,则百分比差异应为100%。我已经尝试了各种各样的方法来使这个工作没有成功。
以下是导致问题的脚本。你知道怎么纠正这个吗?
=Iif(Sum(Fields!LYSUMAMOUNT.Value, "Group3") <> 0, ((Sum(Fields!SUMAMOUNT.Value, "Group3") - Sum(Fields!LYSUMAMOUNT.Value, "Group3")) / Sum(Fields!LYSUMAMOUNT.Value, "Group3")) * 100, 0)
提前谢谢!
答案 0 :(得分:1)
这是SSRS中的错误或Microsoft实施IIF评估的方式。无论IIF条件如何,它都会尝试评估真假表达。您可以尝试以下方式解决您的问题。在这里我也将IIF条件添加到除法中,如果它为零则使用1作为除数。
=Iif(Sum(Fields!LYSUMAMOUNT.Value, "Group3") <> 0, ((Sum(Fields!SUMAMOUNT.Value, "Group3") - Sum(Fields!LYSUMAMOUNT.Value, "Group3")) / Iif(Sum(Fields!LYSUMAMOUNT.Value, "Group3") <> 0, Sum(Fields!LYSUMAMOUNT.Value, "Group3"),1)) * 100, 0)