Tableau 总平均值与每个位置的平均值

Tableau total average vs average per location

已在 public tableau

上传工作簿

我了解如何在 Tableau 中绘制每个位置的平均值,即创建计算字段

AVG([Rating])

然后绘制这个与位置的关系。

但是现在,我正在寻找所有评级的平均值,无论位置如何,所以我创建了计算字段

WINDOW_AVG([Avg_Rating], First(),Last())

如果您看到选项卡 Grand Average,它等于 3.704,这是我期望的,在 EXCEL 中计算得出。

但是如果您看到选项卡 Avg per Location 并将鼠标悬停在栏上,您将看到

Tot_Avg = 3.848

这到底是怎么发生的?

因为 WINDOW_AVG(),您并未从聚合中排除 Location。 WINDOW_AVG() 正在查看分区中的所有行。您已通过将 Location 和 Avg_Rating 拖到视图中来设置行。您的分区如下所示:

| Location            | Avg_Rating |
+---------------------+------------+
| Belfrance Chocolate |  4.55      |
| Boston Tea Party    |  3.73      |
| Eat at Joe's        |  3.13      |
| ...                 |  ...       |  
+---------------------+------------+

因此 WINDOW_AVG() 正在计算您的分区中所有这些 Avg_Rating 的平均值。

如果您想从聚合中排除 Location,一种直观的方法是使用 EXCLUDE。试试这个:

{ EXCLUDE [Location (Loc)] : AVG([Rating]) }

这会将 Location 从详细级别中排除,这样您的分区将包括每一行(仅用于此计算),而不是每个 Location 的聚合,并且您将平均原始评级而不是平均每个位置的平均值。