Excel 数据透视表“显示为”值列中的差异

2024-04-20

当值显示为父列总数的百分比时,有没有办法让数据透视表自动计算两列之间的差异?

现在我需要手动,但表格是动态的,竞争对手的数量可能会有所不同。功能看起来很简单,但在谷歌搜索后找不到它......

See example picture below of what I want to achieve.
(Column F automated by the pivot table is the goal)
Column F automated by the pivot table is the goal


如果尝试使用数据透视表解决此问题,您有几个选择:

  1. 使用基于范围的“传统”数据透视表。这会给你百分比差异,但你无法得到百分点不使用外部公式即可实现您所要求的差异。
  2. 使用基于您添加到 Excel 数据模型的数据的“OLAP”数据透视表。这会给你们两个百分比差异and 百分点差异,而不必求助于使用外部公式。

在这两种情况下,我建议您首先对数据进行逆透视,以便它位于所谓的平面文件中。目前,您正在使用交叉表数据源(即您的源具有名为“第 1 年”、“第 2 年”的列),并且如果您的数据是交叉表,则您想要执行的跨年份百分比比较类型不起作用。基本上,数据透视表并不意味着使用交叉表数据。

相反,您确实希望对数据进行布局,以便有一个名为“金额”的列和一个名为“年份”的列,然后您可以使用右键单击菜单中提供的“将值显示为”选项来显示年份之间的百分比差异。要将您的数据转换为平面文件,请参阅我的答案:将交叉表转换为列表以制作数据透视表 https://stackoverflow.com/questions/47252860/convert-cross-table-to-list-to-make-pivot-table/47253398#47253398

也就是说,您仍然可以在现有(未透视)数据布局上使用 GETPIVOTDATA 函数,这种方式对于数据透视表结构中的更改来说比仅从另一个引用中减去一个引用更加稳健:

但我再次建议将您的数据转换为平面文件。然后您还可以执行以下操作:

使用“传统”数据透视表:

You can kinda如果您将“金额”列拖到“值”区域,将“年份”列放入“列”区域,将“竞争对手”放入“行”区域,然后选择百分比“将值显示为”选项之一,则可以在独立的“传统”数据透视表中完全解决您的问题当您右键单击“值”区域中的单元格时,您会看到。

I say kinda,因为如果不使用外部公式(或不计算源数据中的百分比),您只能让它显示percent增加(见最右栏),而不是百分点根据需要增加(参见最左栏)。也就是说,我认为百分比增长不那么令人困惑。但我想这取决于你想展示什么。如果您想显示一年到下一年的市场份额变化,那么百分比是有意义的。

当然,您始终可以使用 GETPIVOTDATA 函数为您做额外的数学计算,就像我们之前所做的那样,就像我在左侧所做的那样。

使用基于 DataModel 的 OLAP 数据透视表

计算百分比增长可能需要使用使用数据模型构建的数据透视表。请参阅我的回答https://stackoverflow.com/a/49973465/2507160 https://stackoverflow.com/a/49973465/2507160这解释了一些关于数据模型的信息(尽管它没有回答这个具体问题)。

结果如下:

以下是我为此采取的措施:

第一年总计: =CALCULATE(SUM(Table2[Value]),ALLSELECTED(Table2[Competitor]),Table2[Year] = "Year 1")

第二年总计: =CALCULATE(SUM(Table2[Value]),ALLSELECTED(Table2[Competitor]),Table2[Year] = "Year 2")

% 第一年: =CALCULATE(SUM(Table2[Value]),Table2[Year] = "Year 1")/[Total Year 1]

% 第二年: =CALCULATE(SUM(Table2[Value]),Table2[Year] = "Year 2")/[Total Year 2]

页数差异: = [% Year 2] -[% Year 1]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel 数据透视表“显示为”值列中的差异 的相关文章

随机推荐

  • 如何从 Asp Label.Text 加载航路点坐标

    我在其中硬核值的第一个代码
  • 未使用重定向设置实例变量

    什么会导致我的实例变量 product 无法为重定向设置 传递 Product 是一个 ActiveModel 对象 而不是 ActiveRecord 更具体地说 product 变量没有出现在redirect to new service
  • VSCode 文件夹结构

    我想更改文件夹结构 如果您在文件夹 utils 中看到我有另一个名为 mocks 的文件夹 我想要的是更改结构以按文件夹查看1个文件夹 类似这样 就像只有 1 个文件的 services 文件夹一样 我有相同的结构 另一个文件夹中有 1 个
  • 如何从继承的 FromBody 模型中获取正确的类型?

    正文的帖子有几种不同的 XML 传入 所有 XMLS 几乎都是相同的 因此我首先添加一个基类 其他 XMLS 继承自该基类 这是模型 XmlInclude typeof TextMsg XmlRoot xml public class Ba
  • 检查属性是否用特定注释修饰 - Typescript

    如何确定特定属性是否用特定注释修饰 例如这个类 class A DecoratedWithThis thisProp number 我怎么知道thisProp装饰有DecoratedWithThis 我的用例 我使用另一个文件中的类来生成属
  • Android 指纹原始数据

    Android 的指纹传感器实现是否支持直接访问原始指纹数据 即手指上的实际图案 我并不是指用于解锁设备和付款的存储的安全指纹 而是指在扫描手指时按需获取原始数据 如果没有 为什么不呢 Android API 的作用not允许直接访问原始指
  • 在 Unity 中双向旋转门

    我在 Unity 中创建了一扇打开和关闭的门 我可以通过打电话打开那扇门Interact 现在我想创建一扇始终远离玩家打开的门 就像酒吧的门一样 如果玩家在房间前面 门就会旋转到房间 如果玩家在房间里 门就会旋转出去 目前我创建了一个布尔值
  • Python - AttributeError:“NoneType”对象没有属性“findAll”

    我已经编写了第一段 python 代码来抓取网站 import csv import urllib2 from BeautifulSoup import BeautifulSoup c csv writer open data csv wb
  • 尝试将 span 元素设置为等于 JS 石头剪刀布游戏中的变量值

    我正在编写一个玩石头 剪刀 布的程序 当我编码时 一切都很顺利 直到我添加了 userScore span InnerHTML userScore 线 在测试 win 功能时 我添加了 console log you win 它工作得很好
  • Vue.js 隐藏当前视口之外的项目

    我正在 Vue js 中制作一个电子商务类型的菜单 其中的项目是包含大量功能和图像的 div 当渲染大约 200 个这样的项目时 性能相当不错 但是当添加的数量超过这个数量时 网站的性能开始变得缓慢 如果 Vue 元素位于当前可滚动视图之外
  • 为什么 Scala 程序的编译速度非常慢?

    过去两个月我一直在使用 Scala 我还在一个小应用程序中使用 Play 框架 我观察到 即使对于打印 Hello World 的程序来说 编译也非常慢 为什么这么慢 有什么减少时间的技巧吗 您的情况下编译速度有多快 scalac 的速度受
  • 无法访问 GridView 中的 HyperLinkField 文本

    我有一个 HyperLinkField 定义如下
  • 在 vs 代码编辑器中隐藏代码块行

    我的所有代码上都有这些奇怪的行 它们似乎突出显示了代码块 我该如何关闭它们 我的是1 30版本 Link https ibb co z5Tt6t4 https ibb co z5Tt6t4 所以左边的白线 它们叫什么以及如何将它们关闭 您可
  • 识别不在另一个数据框中的记录

    我有一个像这样的数据框 data1 pd DataFrame a z 0 a y 20 b z 1 columns id1 id2 number data2 pd DataFrame a y 1 a y 1 b z 0 columns id
  • NLog 的线程安全性如何?

    Well 我等了好几天才决定发布这个问题 因为我不知道如何陈述这一点 结果写了一篇很长的详细帖子 不过 我认为此时向社区寻求帮助是有意义的 基本上 我尝试使用 NLog 为数百个线程配置记录器 我认为这会非常简单 但几十秒后我得到了这个异常
  • 埃拉托斯特尼筛法速度比较:Python 与 Julia

    所以我有一个用 Python 和 Julia 编写的 Eratosthenes 函数的小筛子 并且我正在比较运行时间 这是Python代码 import time def get primes n numbers set range n 1
  • 将缺失值 (NA) 替换为空白(空字符串)

    我有一个带有 NA 行的数据框 df data frame c classA NA classB t data frame rep A 5 rep NA 5 rep B 5 rownames df lt c 1 2 3 colnames d
  • 使用 Swift 3 在 Xcode 8 中构建适用于 WatchOS 和 iOS 的嵌入式框架

    我正在将最初用 Swift 1 编写的全 iOS WatchOS 1 应用程序移植到最新的 Xcode 8 WatchOS 3 Swift 3 我的应用程序有一个嵌入式框架 具有一些常用功能 用于编译和运行 watchkit 扩展目标和 i
  • 如何避免每次创建新的 javafx 项目时添加 vm 参数?

    我正在使用 e fx clipse 插件和 scenebuilder 在 STS 4 6 1 中创建 javafx 项目 每次创建新项目时 我都必须在运行配置中添加虚拟机参数 module path home path to javafx
  • Excel 数据透视表“显示为”值列中的差异

    当值显示为父列总数的百分比时 有没有办法让数据透视表自动计算两列之间的差异 现在我需要手动 但表格是动态的 竞争对手的数量可能会有所不同 功能看起来很简单 但在谷歌搜索后找不到它 See example picture below of w