本文中的信息提供了有关数据混合的建议和深入信息,可帮助您了解混合的运作方式并解决复杂的应用场景。若要充分理解本文中的内容,您应该已熟悉数据混合的基础知识,这些知识在本文中的其他文章中有所介绍。
混合数据源应仅包含部分可用数据
最佳做法是,仅在基于混合数据源的图表中包含您要直观呈现的特定字段。以下是此功能之所以重要的原因:
- 混合作成的数据集可能非常大,这可能会导致性能下降,并可能增加 BigQuery 等付费服务的查询费用。
- 基于混合创建的图表会计算混合中的所有行,即使这些行未在图表中用到也是如此。
- 例如,假设您创建了一个包含 10 个字段的混合数据源。然后,您定义一个仅使用其中一个字段的图表。Looker Studio 会计算 10 个字段的混合数据源,然后查询混合数据源输出中的 1 个字段以创建图表。
- 仅当您的混合数据源包含部分基础数据时,才会发生重新聚合。
使用混合重新汇总指标
您从底层数据源中纳入的指标在混合数据源中会变成未汇总的数字。如果数据混合包含的字段少于底层数据源中的完整字段集,系统会根据新数据重新汇总这些数字。如果您需要对已聚合的字段应用其他聚合函数,例如计算平均值的平均值,那么这种混合方式会非常有用。
如需了解详情,请参阅使用混合重新汇总数据。
基于单个数据源创建混合数据源
混搭不一定需要使用不同的数据源。您可能还会发现,通过混合同一数据源中的多个表来重新汇总数据也很有用。
例如,假设您有一个数据集,其中包含美国人口最多的三个州中排名前三的县的人口数据,如下表所示:
州 |
国家/地区 |
人口(2023 年估计值) |
---|---|---|
加利福尼亚 |
洛杉矶县 |
10,014,009 |
加利福尼亚 |
圣地亚哥县 |
3,298,634 |
加利福尼亚 |
奥兰治县 |
3,186,989 |
得克萨斯州 |
哈里斯县 |
4,731,145 |
得克萨斯州 |
达拉斯县 |
2,613,539 |
得克萨斯州 |
塔兰特县 |
2,110,640 |
纽约 |
金斯县(布鲁克林) |
2,736,074 |
纽约 |
皇后区 |
2,405,464 |
纽约 |
布朗克斯县 |
1,418,890 |
您想计算每个县的人口占所在州人口的百分比;但为此,您需要将每个州的总人口作为单独的字段。在相应数据集中,该指标不可用;不过,您可以按以下步骤操作,将人口数据源与自身进行混合,从而获取该指标:
- 使用基础数据集创建数据源。
- 向报告添加使用该数据源的图表。
- 创建包含两个表的混合数据源。每个表都将使用您在第 1 步中创建的同一数据源。
- 对于表 1,请添加以下字段:
- 州、县、人口。
- 将 Population 重命名为 CountyPopulation。
- 对于表 2,仅包含人口字段,并将该字段重命名为 StatePopulation。
- 对于表 1,请添加以下字段:
- 对于联接条件,请使用左外部联接,将表 1 中的州与表 2 中的州相关联。
- 点击保存。
- 点击 X 返回报告编辑器。
接下来,向报告中添加新图表(例如表格),然后按照以下步骤选择该混合作为图表的数据源:
- 向图表中添加州、县、县人口和州人口字段。
- 如需计算每个县占所在州人口的百分比,请向图表中添加一个使用新重新汇总的数据的计算字段:
- 在“属性”面板中,点击添加指标,然后点击添加字段。
- 将该字段命名为“各州人口百分比”,例如 Percent of State Population。
- 在公式框中,输入
(CountyPopulation / StatePopulation)*100
。 - (可选)设置显示格式,以将百分比值显示到特定级别(例如,百分比 (2) 表示保留两位小数)。
完成后,您的表格应如下所示:
州 |
国家/地区 |
CountyPopulation |
StatePopulation |
占州人口的百分比 |
---|---|---|---|---|
加利福尼亚 |
洛杉矶县 |
10014009 |
16499632 |
60.69 |
得克萨斯州 |
哈里斯县 |
4731145 |
9455324 |
50.04 |
加利福尼亚 |
圣地亚哥县 |
3298634 |
16499632 |
19.99 |
加利福尼亚 |
奥兰治县 |
3186989 |
16499632 |
19.32 |
纽约 |
金斯县(布鲁克林) |
2736074 |
6560428 |
41.71 |
得克萨斯州 |
达拉斯县 |
2613539 |
9455324 |
27.64 |
纽约 |
皇后区 |
2405464 |
6560428 |
36.67 |
得克萨斯州 |
塔兰特县 |
2110640 |
9455324 |
22.32 |
纽约 |
布朗克斯县 |
1418890 |
6560428 |
21.63 |
混合中的表格顺序
Looker Studio 会按顺序评估混搭中的联接配置,从最左侧的配置开始。然后,将每次联接的结果应用于右侧的下一个联接。例如,在三表混合中,系统会先评估表 1(最左侧)和表 2(中间)之间的联接配置,然后将这些结果用于表 2 和表 3(最右侧)之间的联接配置。
自动创建的混合中的表格顺序
当您混合选择的图表时,Looker Studio 会为每个图表创建一个表格,然后将图表中的字段添加到相应的表格中。混合中的表格顺序与您选择图表的顺序一致:选择的第一个图表会成为第一个(最左侧)表格,选择的第二个图表会成为第二个表格,依此类推。
Looker Studio 还会自动为每个表创建联接配置,并使用左外联接类型。
如果默认配置不符合您的需求,或者表格之间没有明确的关联,您可以修改混合数据源以满足您的目标。
在混合之前创建表
在将混合中的每个表的数据联接到最终混合之前,系统会先查询这些数据。表格中的日期范围、过滤条件和计算字段会应用于生成该表格的查询,然后再执行任何联接。这些因素可能会影响混合表中包含的数据,并改变混合的输出结果。
混合数据可能包含比原始数据更多的行
在混合图表中,您可能会看到比基于构成混合的各个数据源的图表更多的数据。结果可能取决于您的数据以及为混合数据源选择的联接配置。例如,左外联接包含左侧表中的所有记录,以及右侧表中在联接条件中具有相同值的所有记录。如果联接条件有多个匹配项,则混合数据中的行数可能会多于最左侧数据源中的行数。
混合和明确的日期范围及过滤条件
您可以通过使用日期范围或应用过滤条件来限制数据混合中的行数。您可以限制基于混合数据源的图表中的行数,也可以限制构成混合数据源的表格中的行数。不妨将该流程视为“混合前”或“混合后”。
如果您对数据源中的某个表应用日期范围或过滤器,那么在将该表中的数据与其他表中的数据联接之前,系统会先应用日期范围或过滤器。日期范围之外或被过滤条件排除的行无法用于联接查询。
如果您基于混合数据源对图表应用日期范围或过滤条件,则会将其应用于创建混合数据源后的数据(“混合后”)。
这种差异可能会对图表中显示的结果产生很大影响,具体取决于您的数据以及您配置混搭的方式。
混合和继承的过滤条件
只要过滤条件与预混合或混合后数据兼容,混合数据源就会沿用报告、网页或群组级过滤条件。如果过滤条件与数据混合使用的底层数据源兼容,则该过滤条件会应用于混合前的数据。否则,过滤条件会作用于混合后的数据。如果过滤条件与预混合数据或混合后数据都不兼容,系统会忽略该过滤条件。
详细了解过滤条件继承。
如果基于混合数据源的图表受到继承过滤条件的限制,Looker Studio 会按以下五个步骤处理数据:
(预混合):
- 第 1 步:系统会根据混合数据面板中指定的维度对数据进行分组和汇总。
- 第 2 步:系统会将继承的维度过滤条件和兼容的指标过滤条件应用于混合数据面板中包含的数据源。
(混合):
- 第 3 步:系统会使用指定的联接配置来混合数据。
(混合后):
- 第 4 步:系统会根据图表中的维度对数据进行分组和汇总。
- 第 5 步:如果指标过滤条件与混合数据兼容,则会应用于图表。