【问题标题】:NaN Error report builder 3.0NaN 错误报告生成器 3.0
【发布时间】:2023-03-04 01:38:01
【问题描述】:

SSRS 新手。使用报表生成器 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 错误,或者有更好的方法来编写百分比表达式?

注意:

Total Orders / Total Delivered 列是 1 和 0 值

lastfinancialyearflag 列是 1 和 0 的值,但只想对值为 1 的地方求和。

请帮忙!

【问题讨论】:

  • 你能得到数据集中的总和吗?
  • 使用上面的总和,但即使有 8 个订单,5 个已交付,我仍然得到 100.00%,但在其他月份,只显示 NaN。请帮忙

标签: reporting-services


【解决方案1】:

您说“但只想对值为 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))

【讨论】:

  • 嗨,这是我正在寻找的正确百分比答案,但我仍然遇到 NaN 错误 - 请帮助
【解决方案2】:

您必须额外检查分母(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))
)

【讨论】:

  • 这消除了 NaN 错误,但百分比都恢复为 100 %。我尝试交换字段 Total_Orders / Total_Delivered,但没有任何乐趣。例如,有 8 个订单,其中 5 个已交付,这将返回 100% 请帮助
【解决方案3】:

= 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)) / Sum(IIf(Fields!lastfinancialyearflag.Value=1, Fields!Total_Orders.Value, 0)))

这很有效,结合使用你们的答案.. 谢谢 A 组 *

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2017-04-27
    • 1970-01-01
    • 2010-12-10
    • 2010-09-18
    相关资源
    最近更新 更多