2017-06-20 141 views
0

我试图计算下表中六台机器的平均值。SSRS:计算表中缺少值而不是零的平均值(平均值)

enter image description here

第一列表示,所述第二列良好片第三列性能

在最后一行,我想计算行的平均值(平均值),但结果在这里不正确。应该是33.6%。

这是我用来表达:

=iif(AVG(Fields!Oee.Value)=0, "-", AVG(Fields!Oee.Value)) 

我如何计算这个不为零?

+0

http://salvoz.com/blog/2011/11/25/ssrs-checking-for-divide-by-zero-using-自定义代码/ – Snowlockk

+0

可能dublicate的https://stackoverflow.com/questions/18005747/average-of-all-values-except-0 – Komal

回答

0

对于需要用非零行

= SUM(Fields!Fields!Oee.Value)/ SUM(Iif(Fields!Fields!Oee.Value=0,0,1)) 

此外,如果你想输出别的东西可以使用格式零个值的计数来划分列的总和计算例如。 0,0;-0,0;"-"(第一部分是正数,第二部分是负数,第三部分是零)

+0

谢谢你,它的工作原理。但是我怎么能用这种格式呢? '=格式(SUM(Fields!Oee.Value)/ SUM(Iif(Fields!Oee.Value = 0,0,1)),“ - ”)'? –

+1

在每个文本框中都有一个格式属性。你把价值设定为我所建议的价值。阅读更多信息:https://msdn.microsoft.com/el-gr/library/fbxft59x.aspx – niktrs

0

我发现这个解决方案:

我使用的过滤器选项:

enter image description here

但现在在表矩阵可以看到仅运行的机器。

enter image description here