【问题标题】:Pivot table calculate field based on grouped values基于分组值的数据透视表计算字段
【发布时间】:2015-08-11 14:51:25
【问题描述】:

在从这个网站默默学习多年后,我终于找到了一个问题,我似乎在 StackOverflow 上找不到答案...


我有一个数据透视表,需要计算人群中多个组的净推荐值。

净推荐值计算如下:

[% of Population that give 9 or 10/10] - [% of Population that give 1 to 6/10]

我的源数据中的每条记录只能有一个介于 1 到 10 之间的分数:

RAW DATA:
Date (dd/mm)    Country    Type         Score (1-10)    NPS Category
01/05           US         Order enq.   9               Promoter
13/05           US         Check-out    5               Detractor
28/05           US         Order enq.   7               Passive

因此,在以下答案的帮助下,我添加了一个列,根据该分数将每个人分为促进者(9 或 10)、被动(7 或 8)和贬低者(1 到 6)组:@ 987654321@(隐藏敏感项目)。

现在剩下的就是: 如何创建一个计算出的“NPS”列,就像下面我的(基本)数据透视表表示中显示的那样,该列从促进者值中获取贬低者值?

D = Detractor group
Pa = Passive group
Pr = Promoter group


      |     Order enquiry    |      Check-out      |
      | D    Pa   Pr   NPS   |  D    Pa   Pr   NPS |
-------------------------------------------------- |
GB    |                      |                     |
  May |  0    0  100    100  | 30    20    50   20 |
  Jun | 10   30   60     50  | 35    35    60   25 |
  Jul | 30   20   50     20  | 40    10    40    0 |
US    |                      |                     |
  May | 45   15   40    - 5  | 50    10    40  -10 |
  Jun | 40   30   30    -10  | 40    30    30  -10 |
  Jul |  5   35   60     55  | 20    40    40   20 |

可以在screenshot 中看到我对计算列的尝试。这会导致错误,当然我还没有设法将 NPS 计数转换为百分比。

【问题讨论】:

    标签: excel excel-2010 pivot-table


    【解决方案1】:

    我建议在源中创建一个新列,通过公式计算 DPaPr

    您现在可以在数据透视表中为这些值创建 %。 NPS 列可以在对输出字段进行透视后计算,也可以通过在 Excel 中创建透视列公式来计算。

    【讨论】:

    • 感谢您的回答。问题是,不能为单个个体(或源中的单行)计算 NPS,因为它是所有促进者个体的比例减去所有贬低者个体在总体中的比例。
    【解决方案2】:

    从您的问题中不清楚您的数据是如何布置的,或者您到底在问什么。据我所见,您需要在原始数据表中添加一列,其内容类似于

    =COUNTIFS(UniqueID,MyUniqueID,Score,">=9")-COUNTIFS(UniqueID,MyUniqueID,Score,"<=6")
    

    然后是另一列

    =IF(NetPromoter>=9,"Pr",IF(NetPromoter>=7,"Pa","D"))
    

    然后在您的数据透视表中,将分类添加为新的子列,并将 NPS 添加为 NPS 列的平均值,或类似的内容。

    如果您希望更改公式以满足您的实际范围/变量条款,请显示您的数据。

    【讨论】:

    • 我明白了,在原始数据中包含一个分类列,以确定每个人是促进者、被动者还是批评者,然后数据透视表不需要进行分组。那只会离开计算字段来查找人口的 NPS...我会试一试。
    • @PangolinPaws 没错。最好在原始数据选项卡中进行数学运算,然后将其合并为数据透视表的新列。我把上面公式的术语作为描述;您将需要命名适当的列,因为我在那里有它们,或者将它们转换为单元格引用。如果没有您在问题中的原始数据,我无法更具体。
    • @Martijn 和 Grade I 现在意识到你们俩的建议是一样的,所以感谢您的帮助。可悲的是,我仍然卡住了,虽然 NPS 类别现在是在我的原始数据中制定的,但我如何获得计算字段以从发起人那里获取批评者(我稍后会担心 %)? screenshot
    • @PangolinPaws 更新您的问题以包含对原始数据选项卡的描述。没有它就很难为您提供帮助。
    • 抱歉,您之前要求过。现在更好地描述并包含屏幕截图(顺序略有不同,因为我隐藏了敏感字段,例如客户详细信息等)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    相关资源
    最近更新 更多