【问题标题】:Tableau Weighted Average Per Capita Calc not aggregating rightTableau 加权平均人均计算未正确汇总
【发布时间】:2018-10-23 13:40:28
【问题描述】:

我正在尝试创建一个简单的人均收入计算,该计算与数据中的不同过滤器一起使用。我让它适用于单个记录,但是,它会中断并错误地与多个记录聚合。

我现在的公式就是Sum([Revenue]) / Sum([Attendance])。这在我只选择了一个事件时有效。但是,一旦我选择了多个节目,它就会聚合并且不会进行加权平均。

【问题讨论】:

  • 你能分享一个工作簿或截图吗?您拥有的公式 (SUM([Revenue]) / SUM([Attendance])。我认为这不是您实际使用的计算,因为您得到的是 SUM([Revenue] / [Attendance])
  • 你的公式似乎是正确的......你能分享一下workbbok
  • RevenueAttendance 计算字段吗?
  • SUM(Revenue) / SUM(Attendance) 应该是正确的

标签: formula aggregate-functions tableau-api


【解决方案1】:

我在这里做了一些假设,但希望这会对您有所帮助。我创建了一个包含以下数据的 .xlsx 文件:

Event     Revenue   Attendance
Event 1   63761     6685
Event 2   24065     3613
Event 3   69325     4635
Event 4   41996     5414

在 Tableu 中,我为 Rev Per Person 创建了计算列。

最后,在分析下拉菜单中,我启用了Show Column Grand Totals。这给了我以下信息:

简单修复

问题在于所有列的总计都是使用 SUM 聚合计算的。这是收入和出勤率的理想行为,但对于 Rev Per Person,您希望显示平均值。

在 Analysis/Totals/Total All 中,您可以配置默认聚合。在这里,我们不想设置所有这些;但知道它很有用。将其保留在原处,然后单击 Rev Per Person 总计值并将其从“自动”更改为“平均”。

现在您会看到一个更接近预期的数字。

但这并不完全符合您的期望。所有 Rev Per Person 值的平均值为 9.73 美元;但如果您计算总收入/总出勤率,您预计价值为 9.79 美元。

稍微涉及更多的修复

首先 - 撤消简单修复。我们会将所有总数保持在“默认”状态。相反,我们将修改 Rev Per Person 计算。

IF Size() > 1 THEN
    // Grand Total
    SUM([Revenue]/[Attendance])
ELSE
    // Regular View
    SUM([Revenue])/SUM([Attendance])
END

Size() 用于确定是否正在对单个单元格进行计算。

有关 Size() 和类似函数的更多信息可以在 Tableau 的网站上找到 - https://onlinehelp.tableau.com/current/pro/desktop/en-us/functions_functions_tablecalculation.html

现在我看到了 9.79 美元的预期价值。

【讨论】:

    猜你喜欢
    • 2013-02-25
    • 2023-03-13
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2011-04-22
    相关资源
    最近更新 更多