在数据可视化中,重新聚合是一种常见需求。本文将帮助您了解重新汇总的概念,以及如何在数据洞察中使用数据混合来实现重新汇总。
重新聚合的一个示例是计算平均值的平均值 。例如,假设您有一个股票价格变动表:
| 行业 | 置顶栏 | 价格变动 |
| 科技 | GOOG | +6 |
| 科技 | AAPL | +5 |
| 科技 | MSFT | -3 |
| 科技 | NFLX | -1 |
| 能源 | E1 | +2 |
| 能源 | E2 | +10 |
| 能源 | E3 | -3 |
| 金融 | F1 | -6 |
此数据的平均价格变动是简单的聚合。
| 价格变动的平均值 |
| 1.25 |
如需计算每个行业的平均价格变动,您需要按“行业”维度对该表进行分组。
| 行业 | 价格变动的平均值 |
| 科技 | 1.75 |
| 能源 | 3 |
| 金融 | -6 |
如需重新聚合此数据,您需要应用另一个聚合函数,例如再次应用平均值:
| 价格变动的平均值的平均值 |
| -0.42 |
在数据洞察中重新聚合
如需在数据洞察中重新聚合指标,请使用数据混合。通过混合,您可以解决之前聚合的字段被设置为 AUTO 字段类型的问题。您既无法更改此字段类型,也无法对此类字段应用其他聚合函数。
例如,如需在数据洞察中查找每个行业的平均股票价格变动,您需要创建一个混合配置,将同一数据源与自身联接。使用行业作为联接键,并在左侧和右侧数据源中都包含平均价格变动指标,如以下示例所示:

行业
平均价格变动
通过此混合数据源,您可以对之前聚合的“价格变动”字段应用新的聚合。
混合会分解数据
混合数据会根据您在混合配置中选择的列创建一个新表。新表中的指标会被视为未聚合的数字。
由于“价格变动”不再是聚合指标,因此您现在可以对其应用新的聚合函数。下表显示了使用之前聚合的数字创建新指标 AVG(“价格变动”) 的结果:

价格变动
此新指标会重新聚合数字 1.75、3 和 -6 ,并显示其平均值:-0.42 。
使用混合创建比率列
混合的另一个用途是使用已聚合的数字创建比率指标。假设您要创建一个比率列,将一个指标除以另一个指标。
在此示例中,我们将使用两个字段:点击次数和展示次数,它们来自两个不同的数据源。
| 网站 | 点击次数 |
| google.com | 300 |
| facebook.com | 400 |
| twitter.com | 200 |
| 网站 | 展示次数 |
| google.com | 2000 |
| facebook.com | 2500 |
| twitter.com | 2000 |
您可以通过混合这两个数据源,使用计算字段“点击次数/展示次数”创建比率列。
| 网站 | 点击次数 | 展示次数 | 点击次数 / 展示次数 |
| google.com | 300 | 2000 | 0.15 |
| facebook.com | 400 | 2500 | 0.16 |
| twitter.com | 200 | 2000 | 0.1 |
| 总计 | 900 | 6500 | 0.41 |
“点击次数/展示次数”的所有行都包含正确的信息,但汇总行除外,该行显示的是比率列的总和 SUM( Clicks / Impressions )。出现这种情况的原因是,点击次数/展示次数是针对每一行计算的 [0.15、0.16、0.1],然后对该结果应用 SUM 函数。[0.15 + 0.16 + 0.1 = 0.41]。
正确的结果是 900/6500 = 0.14 。您可以使用公式 SUM( Clicks ) / SUM( Impressions ) 计算比率列的值,从而获得正确的结果。
| 网站 | 点击次数 | 展示次数 | SUM(点击次数) / SUM(展示次数) |
| google.com | 300 | 2000 | 0.15 |
| facebook.com | 400 | 2500 | 0.16 |
| twitter.com | 200 | 2000 | 0.1 |
| 总计 | 900 | 6500 | 0.14 |
在这种情况下,汇总行显示的是 SUM( SUM( Clicks ) / SUM( Impressions ) )。SUM( Clicks ) [900] 除以 SUM( Impressions ) [6500] 等于 0.14 。然后,系统会再次对其应用 SUM 函数。结果仍然是 0.14 。