Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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表达(平均值的平均值)_Reporting Services_Expression_Ssrs 2012_Expressionbuilder - Fatal编程技术网

Reporting services 复杂SSRS表达(平均值的平均值)

Reporting services 复杂SSRS表达(平均值的平均值),reporting-services,expression,ssrs-2012,expressionbuilder,Reporting Services,Expression,Ssrs 2012,Expressionbuilder,我有4个数据集,我需要计算一个字段的平均值和它们的累积平均值 以下是我的4个数据集:Dataset1、Dataset2、Dataset3、Dataset4: 这就是我想要的。我想找出平均值的平均值,如下所示: Avg(Fields!Discount.Value,"Dataset1") Avg(Fields!Discount.Value,"Dataset2") Avg(Fields!Discount.Value,"Dataset3") Avg(Fields!Discount.Value,"Data

我有4个数据集,我需要计算一个字段的平均值和它们的累积平均值

以下是我的4个数据集:
Dataset1、Dataset2、Dataset3、Dataset4

这就是我想要的。我想找出平均值的平均值,如下所示:

Avg(Fields!Discount.Value,"Dataset1")
Avg(Fields!Discount.Value,"Dataset2")
Avg(Fields!Discount.Value,"Dataset3")
Avg(Fields!Discount.Value,"Dataset4")
=Avg(Avg,Avg,Avg…)
的逻辑抛出错误。所以基本上它不起作用。肯定会有办法的


我们还需要考虑到,有时其中一个数据集可能是空的(null或0)。在SSRS中有什么方法可以这样做吗?

如果你不需要加权平均值,你可以使用ISNOTHING来检查空值,如:

=(IIF(ISNOTHING(Avg(Fields!Discount.Value,"Dataset1")), 0, Avg(Fields!Discount.Value,"Dataset1") ) + 
  IIF(ISNOTHING(Avg(Fields!Discount.Value,"Dataset2")), 0, Avg(Fields!Discount.Value,"Dataset2") ) + 
  IIF(ISNOTHING(Avg(Fields!Discount.Value,"Dataset3")), 0, Avg(Fields!Discount.Value,"Dataset3") ) + 
  IIF(ISNOTHING(Avg(Fields!Discount.Value,"Dataset4")), 0, Avg(Fields!Discount.Value,"Dataset4") ) ) / 4 

AVG仅在数据集字段中工作,或通过对其进行操作返回值。如果数据集编号是静态的,则可以使用平均公式计算全局平均值
(avg1+avg2+avg3+avg4)/4
。如果你需要进一步的帮助,请告诉我。