【问题标题】:Excel pivot table calculated field not behaving as expectedExcel 数据透视表计算字段未按预期运行
【发布时间】:2021-04-29 17:18:03
【问题描述】:

这是我正在使用的数据类型的示例:

我想创建一个数据透视表,其中行是日期,列是地区,值是来自该地区的每日总交易量的百分比。所以我想要的输出看起来像:

我使用公式 COUNT(Amount)/'Total Daily Transactions' 创建了一个名为“PercentOfDailyTransactions”的计算字段。然后我创建了一个数据透视表,其值等于 PercentOfDailyTransactions 的总和。

但是,这似乎是在计算 1/(每日总交易量 x 当天该地区的交易量),而不是(当天该地区的交易量)/(每日总交易量)。例如,西部地区的 2021 年 1 月 2 日应为 3/6=0.5,但改为 0.0555=1/(3*6)。 Excel 如何获取此值,以及如何创建计算所需输出的计算字段?

请注意,如果我使用公式 COUNT([@Amount])/[@[Total Daily Transactions]] 向源表中添加一列,然后创建一个数据透视表,其值是该字段的总和,即我正确的结果。但是,我希望能够在不添加此类列的情况下完成此操作。

【问题讨论】:

    标签: excel pivot-table


    【解决方案1】:

    可选步骤:我会将您的基础数据集格式化为表格。如果您稍后要创建更多数据透视图、报告连接、添加切片器等,它可能会对您有所帮助。

    Here's what I got

    步骤:

    1. 选择您的数据并创建默认数据透视表
    2. 数据透视表字段中,将区域拖入,将日期拖入,将每日总交易量拖入Values 字段中每日总交易量的默认设置为 Sum,因此左键单击 -> Value field settings -> 计数
    3. 右键单击数据透视表中的任意数据点 -> 将值显示为 -> 占行总数的百分比
    4. 完成

    您可以对 Amount 重复相同的步骤,除了在 Value 字段设置中,将其保留为 Sum

    【讨论】:

    • 谢谢!我的真实数据集被格式化为表格,我只是做了一个测试来指出我遇到的问题。
    • 对不起,另一个问题 - 如果我想将值显示为跨行恒定的其他值的百分比怎么办?比如说,不是 Total Daily Transactions,而是一个字段 Total Daily Goal,比如说,对于所有 1/1/2021 行等于 5,对于所有 1/2/2021 行等于 8?因此,所需的输出将是第一行中的 1/5、2/5、1/5、0 和第二行中的 1/8、1/8、/8、3/8。有没有办法做到这一点?
    • 你的意思是除了每日总交易量 (TDT) 栏外,还有一个每日总目标 (TDG) 栏吗?当然有一种方法可以做到这一点,但我不确定你的数据结构方式是否让它变得容易。当行的分类仅在东/北/西/南之间存在差异时,我看不出为什么要为每一行添加一个目标。我的意思是,如果您在特定日期对所有区域的目标是 X 笔交易,而您当天有 1k 笔交易,那么将相同的 X 放在当天的每一行中会很混乱......跨度>
    • “为什么”并不那么重要,因为这是一个玩具数据集,用来展示我想做的事情。在我的实际数据集中,我想除以的数字对应于给定日期内不同区域的计数,因此 2021 年 1 月 1 日为 3,2021 年 1 月 2 日为 4。 (我知道这对玩具数据集没有意义,但这只是为了在结构上展示我想要完成的任务)。
    • ....我认为如果将目标设置在其他地方而不是在每笔交易旁边的列中会更好,并且可以为任何一天设置目标并且(以及区域的组合。一件很清楚的事情是,您不能将 TDG 放在“值”字段中,因为 Excel 没有为您提供不以某种方式汇总值的选项,例如 avg、count、sum 等。因此它可以以列或行的形式出现.在那里,与上一个任务类似,您可以右键单击任何值 -> 将值显示为 -> 百分比 -> 选择目标...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多