我将生产力计算为 TotalMinutes /(TotalHours * 60) 我的一些TotalHours值= 0,我需要将它们从计算中排除。
如何在Field Expression窗口中编写它?
我目前的表情是 (我也在这个字段中将零设置为“99”值):
=IIf(Fields!TotalHours.Value=0,99,
Sum(Fields!TotalMinutes.Value/(Fields!TotalHours.Value*60)))
感谢您的帮助
答案 0 :(得分:1)
这是未经测试但应该有用......
问题在于IIF将评估两个表达式,即使从未使用过,因此为了避免除以零,我们需要将潜在的零值换成1.这不会影响结果,因为它永远不会用作最终输出。
=SUM(
IIF(Fields!TotalHours.Value=0,99
, IIF(Fields!TotalHours.Value=0,0, Fields!TotalMinutes.Value)
/ IIF(Fields!TotalHours.Value=0, 1, Fields!TotalHours.Value * 60)
)
)
所以这里发生的是,如果TotalHours为零,我们在外部IIF的False部分执行0/1只是为了满足IIF语句(它实际上永远不会被使用)