Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 需要在字段表达式窗口中从SSRS SSDT报告计算中排除零值_Reporting Services_Sql Server Data Tools_Ssrs Tablix - Fatal编程技术网

Reporting services 需要在字段表达式窗口中从SSRS SSDT报告计算中排除零值

Reporting services 需要在字段表达式窗口中从SSRS SSDT报告计算中排除零值,reporting-services,sql-server-data-tools,ssrs-tablix,Reporting Services,Sql Server Data Tools,Ssrs Tablix,我的生产率计算为TotalMinutes/(TotalHours*60) 我的一些TotalHours值=0,我需要将它们从计算中排除 如何在字段表达式窗口中写入它 我现在的表达是 (我还在该字段中将零设置为“99”值): 感谢您的帮助这未经测试,但应该可以正常工作 问题是,即使从未使用过一个表达式,IIF也会对这两个表达式求值,因此为了避免被零除,我们需要将潜在的0替换为1。这不会影响结果,因为它永远不会用作最终输出 =SUM( IIF(Fields!TotalHours.Value=0,99

我的生产率计算为TotalMinutes/(TotalHours*60) 我的一些TotalHours值=0,我需要将它们从计算中排除

如何在字段表达式窗口中写入它

我现在的表达是 (我还在该字段中将零设置为“99”值):


感谢您的帮助

这未经测试,但应该可以正常工作

问题是,即使从未使用过一个表达式,IIF也会对这两个表达式求值,因此为了避免被零除,我们需要将潜在的0替换为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的假部分做0/1,只是为了满足IIF声明(它永远不会被实际使用)

这有效吗=总和(IIf(字段!TotalHours.Value=0,0,字段!TotalMinutes.Value/(字段!TotalHours.Value*60)))
=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)
    )
)