NaN错误报告构建器3.0

时间:2018-04-26 12:29:53

标签: reporting-services

SSRS新手。使用Report Builder 3.0。试着写一个百分比表达式。

这是我的表达

=Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Delivered.Value)) /
Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Orders.Value))

然后我突出显示了单元格,并将其格式化为百分比和2位小数。

然而,我不断得到一些显示NaN的细胞。我已经读过,当值为0时会发生这种情况,但我有1/4给我NaN错误。

有没有办法摆脱NaN错误,或者更好的方法来编写百分比表达式?

注意:

总订单/总交付列数为1和0

lastfinancialyearflag列是1和0值,但只想在值为1的位置求和。

请帮忙!

3 个答案:

答案 0 :(得分:0)

你说"但只想在值为1的地方求和。"但是当lastfinancialyearflag为1时,你的IIF表达式将返回零

尝试像这样切换它。

=Sum(IIf(Fields!lastfinancialyearflag.Value=1, Fields!Total_Delivered.Value, 0)) /
Sum(IIf(Fields!lastfinancialyearflag.Value=1, Fields!Total_Orders.Value, 0))

答案 1 :(得分:0)

你必须额外检查分母(total_orders.value的总和)是不是0

=
Iif(
Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Orders.Value))=0,
0,
Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Delivered.Value))
)
/
Iif(
Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Orders.Value))=0,
1,
Sum(IIf(Fields!lastfinancialyearflag.Value=1,0,Fields!Total_Orders.Value))
)

答案 2 :(得分:0)

= Iif(Sum(IIf(Fields!lastfinancialyearflag.Value = 1,Fields!Total_Delivered.Value,0))

= 0 ,0

,Sum(IIf(Fields!lastfinancialyearflag.Value = 1,Fields!Total_Delivered.Value,0))/ 总和(IIf(Fields!lastfinancialyearflag.Value = 1,Fields!Total_Orders.Value,0)))

这个工作,用你的家伙答案的组合..谢谢你的团队A *