从2个SP列表列中获取平均每月值并显示在新列中

时间:2011-07-19 20:33:49

标签: sharepoint

我需要计算每个月的平均值。目前我有2列“DATE”(日期值,例如01/01/2010)和AccOpen(数值)。因此,对于1月份内的所有日期,我需要返回1月份日期相应AccOpen行中包含的所有数字的平均值。

是否可以使用 CALCULATED 选项并输入 FORMULA ,它会返回每个月内所有主题的平均值(在列表中添加列时?

DATE ACCOPEN AVERAGE 01/01/2010 2 2 02/01/2010 2
03/01/2010 2
04/01/2010 2
01/02/2010 2 2 02/02/2010 2
03/02/2010 2
04/02/2010 2

3 个答案:

答案 0 :(得分:1)

如果不编写事件接收器代码(或以批处理模式运行的其他自定义代码),您将无法执行此OOTB。

让你入门

这需要挂钩列表项更新,然后将您的列表合并到一个单独的摘要列表中,并带有您需要的计算。

蛮力方法是在插入/更新项目时为组中的每个项目重新运行计算。

更智能的方法是更新增量(旧记录与新记录之间的差异),如果存储计算组件,则更容易做到 - 所以在您的情况下

月 - NumRecords - TotalValue

并计算平均值(因为它很容易将NumRecords / TotalValue增量化,但无法直接应用于平均值)

可能符合您需求的第三方网络部分是PivotPoint - 它允许您对诸如Month&之类的群组进行总和/计数/平均等操作。年(免责声明 - 我为公司工作)

答案 1 :(得分:0)

创建公式字段时,无法查询当前项目以外的任何内容。 执行此操作的唯一方法是在列表的事件处理程序或处理列表中的项目的外部代码中创建自定义代码,并在需要时更新“平均”字段。

答案 2 :(得分:0)

创建一个计算字段,为您提供年份和月份,例如:2011-07。然后修改列表视图以对计算字段进行分组。在编辑视图时,还有一个显示总计的选项,我相信您可以将其设置为AccOpen列的平均值。如果您对详细信息不感兴趣,可以选择默认折叠所有组。