计算SSRS 2016中的平均值

时间:2019-06-17 08:49:28

标签: reporting-services ssrs-2016

我正在使用SSRS 2016应用程序从SharePoint列表中提取数据。
我的任务是从一栏中计算平均使用天数和平均百分比。

这是一个包含两列的矩阵报告:

  • Sum(Fields!Days.Value)
  • 总和(字段!Percentage.Value)

任务是显示平均天数和平均百分比。
我尝试过=Avg(Fields!Days.Value),但这显示了错误的结果。

enter image description here

更新

是的,该矩阵按月份分组以显示每个相关月份。
请参阅下面到目前为止我测试过的屏幕截图。

enter image description here

使用天数是通过汇总减去周末的总天数在[FromDate]和[UntilDate]两个字段之间计算得出的。见下文:

=(DateDiff(DateInterval.day,CDate(format(Fields!FromDate.Value,"MM-dd-yyyy")), CDate(format(Fields!UntilDate.Value,"MM-dd-yyyy")))+1)
- (DateDiff(DateInterval.WeekOfYear,CDate(format(Fields!FromDate.Value,"MM-dd-yyyy")), CDate(format(Fields!UntilDate.Value,"MM-dd-yyyy")))*2) 
- IIF(Weekday( CDate(format(Fields!FromDate.Value,"MM-dd-yyyy")),1) = 1,1,0)
- IIF(Weekday( CDate(format(Fields!FromDate.Value,"MM-dd-yyyy")),1) = 7,1,0)
- IIF(Weekday( CDate(format(Fields!UntilDate.Value,"MM-dd-yyyy")),1) = 1,1,0)
- IIF(Weekday( CDate(format(Fields!UntilDate.Value,"MM-dd-yyyy")),1) = 7,1,0)

此外,[DaysUsed]行由IIF组成(值为null,然后显示0,否则显示已使用的天数的总值)。

=IIF(IsNothing(Sum(Fields!Days.Value)), "0", Sum(Fields!Days.Value) )

2 个答案:

答案 0 :(得分:0)

Sum(Fields!Days.Value)/CountRows()

应给您平均天数。其他人也是如此。

答案 1 :(得分:0)

如果您有一个名为Fields!Days.Value的字段,那么我猜您在屏幕截图中的数据已经按月份分组了。这意味着表达式

=Avg(Fields!Days.Value)

为您提供全天的平均值(全天总和/全天计数)。

如果要使用分组值(按mounth),则可以在示波器内部(每月socpe;在Tablix最左侧的括号中表示)时使用以下表达式

=Sum(Fields!Days.Value) / Count(Fields!Days.Value)

如果您不在范围内,则必须告诉Tablix应该使用您的每月分组。为此,您可以使用以下代码:

=Sum(Fields!Days.Value, "YourMonthGroupName") / Count(Fields!Days.Value, "YourMonthGroupName")