需要从字段表达式中的 SSRS SSDT 报告计算中排除零值 window
Need to exclude zero values from SSRS SSDT Report calculations in Field expression window
我的生产力计算为 TotalMinutes/(TotalHours*60)
我的一些 TotalHours 值=0,我需要将它们排除在计算之外。
如何在字段表达式中写window?
我现在的表情是
(我也在该字段中将零设置为“99”值):
=IIf(Fields!TotalHours.Value=0,99,
Sum(Fields!TotalMinutes.Value/(Fields!TotalHours.Value*60)))
感谢您的帮助
这是未经测试的,但应该可以工作...
问题是 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 语句(它永远不会被实际使用)
我的生产力计算为 TotalMinutes/(TotalHours*60) 我的一些 TotalHours 值=0,我需要将它们排除在计算之外。
如何在字段表达式中写window?
我现在的表情是 (我也在该字段中将零设置为“99”值):
=IIf(Fields!TotalHours.Value=0,99,
Sum(Fields!TotalMinutes.Value/(Fields!TotalHours.Value*60)))
感谢您的帮助
这是未经测试的,但应该可以工作...
问题是 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 语句(它永远不会被实际使用)