Excel 2016基于Data Model的PivotTable新增总计列用于PivotChart展示咨询
解决方案
方案1:启用默认列总计(最低开销,10秒完成)
这是最适配你需求的无额外开销方案:
- 选中目标数据透视表,点击顶部菜单栏「数据透视表分析」选项卡
- 找到「总计」按钮,选择下拉选项中的「仅对列启用」
- 右键点击新生成的最右侧总计列表头,重命名为All即可
该方案生成的All列自动同步源数据更新,完全支持直接在PivotChart中调用展示。
方案2:创建MDX计算成员(适配自定义计算逻辑场景)
如果你需要自定义All列的计算规则(比如后续要排除特定区域统计),用你已有的MDX基础即可实现:
- 选中数据透视表,点击「数据透视表分析」→「字段、项目和集」→「MDX计算成员」
- 弹窗内按如下配置:
- 名称栏输入:
All - 父层次结构选择:
Districts表下的District维度 - 父成员选择:
(全部) - MDX公式栏输入:
[Districts].[District].&[North] + [Districts].[District].&[South]
- 名称栏输入:
- 点击「添加」→「确定」,此时District字段的可选值中会新增
All选项,勾选后即可和North、South并列展示。
方案3:DAX自定义维度(适配后续扩展需求)
如果后续可能新增更多区域,可通过新增自定义维度表实现灵活扩展:
- 在Power Pivot中新建名为
CustomDistrict的计算表,仅含1列District,值为{"North","South","All"} - 新建度量值:
DistrictSales = VAR CurDistrict = SELECTEDVALUE(CustomDistrict[District]) RETURN SWITCH( CurDistrict, "North", CALCULATE(SUM(Sales[DailySales]), Districts[District] = "North"), "South", CALCULATE(SUM(Sales[DailySales]), Districts[District] = "South"), "All", SUM(Sales[DailySales]) )
- 将
CustomDistrict[District]放到透视表列区域,把新建的DistrictSales度量值放到值区域即可。
内容的提问来源于stack exchange,提问作者SaintFrag
相关产品推荐
相关产品推荐

