首页 文章

根据数据透视表中的值列(计数)计算平均值

提问于
浏览
0

我正在寻找一种方法来在数据透视表中添加一个额外的列,该列可以平均所选时间段内的月数(“记录数”列)的总和(目前为2016年 - 2017年一个月 - 全年,2018年 - 5个月) . 根据年平均值,每个月都有相同的数字,在选择不同的时期时需要动态变化:全年或例如4个月 . 我需要数据透视表中的列,因此它可以用于未来的数据透视表 . 我不能简单地使用平均值,因为我的所有记录只出现一次,我使用Count来聚合这些数字(“记录数”列) .

我目前的数据如下:

enter image description here

最终结果应如下所示:

enter image description here

我认为它可以通过“计算提交”选项的帮助以某种方式完成,但我现在无法使它工作 . 非常感谢任何帮助!

1 回答

  • 1

    使用DataModel(内置于Excel 2013及更高版本),您可以在PivotTables中编写名为Measures的非常酷的公式,可以执行此类操作 . 举个例子:

    enter image description here

    如您所见,Cust Count&Average字段按月计算交易次数,但也使用以下DAX公式给出小计行(即 2017 Total2018 Total 行)的每月读数的平均值:

    =AVERAGEX(SUMMARIZE(Table1,[Customer (Month)],"x",COUNTA(Table1[Customer])),[x])
    

    这只是说“按月计算客户字段的数量来汇总此表,调用生成的汇总字段'x',然后给我该字段的平均值x” .

    由于DAX度量是在数据透视表的上下文中执行的,因此您可以获得几个月所需的计数,并获得每年小计的平均值 .

    很难解释,但证明DAX肯定能为你做到这一点 .

    有关如何向DataModel添加数据以及如何随后编写度量的示例,请参阅以下链接中的我的回答:

    Using the Excel SMALL function with filtering criteria AND ignoring zeros

    当你学习写Matt Allington的DAX时,我也建议你自己拿一本名为Supercharge Excel的书,甚至可以选择他那令人敬畏的在线课程,因为它很好地涵盖了这类东西,并且与前进相比可以省去你的头脑 . 它一个人 .

相关问题