Tableau Weighted Average Per Capita Calc未汇总权利

时间:2018-05-13 22:18:56

标签: formula aggregate-functions tableau

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

我现在的公式只是Sum([Revenue]) / Sum([Attendance])。当我只选择一个事件时,这个工作。但是,只要我选择多个节目,它就会聚合而不会进行加权平均。

enter image description here

1 个答案:

答案 0 :(得分:0)

我在这里做了一些假设,但希望这会帮助你。我用以下数据创建了一个.xlsx文件:

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

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

最后,在Analysis下拉列表中,我启用了Show Column Grand Totals。这给了我以下内容:

Original Tableau Viz

简单修复

问题是所有列总计都是使用SUM聚合计算的。这是收入和出勤所需的行为,但对于每人修订版,您希望显示平均值。

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

Changing Default Aggregation

现在你会看到一个更接近预期的数字。 Final Viz with nearly expected value

但这并不完全符合你的期望。所有人均Rev值的平均值为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美元的预期值。

Correct Value