通过混合数据,您可以根据多个数据源创建图表、表格和控件。您可以在数据洞察或 Looker 报告中混合最多 5 个数据源的数据。
例如,您可以混合来自不同 BigQuery 表(例如客户信息和订单详情)的数据,并在单个数据洞察表中直观呈现这些信息。再举一个例子,您可以将 Google Ads 和 Google Analytics 账号中的合并数据绘制在时序图上,以便统一查看营销活动的效果。
混合与数据源之间的区别
混合数据会创建一个名为“混合”的资源。 混合与数据源类似,都会为报告中的图表和控件提供数据。不过,混合与数据源在一些重要方面有所不同:
- 混合从多个数据源获取信息。
- 混合始终嵌入到创建它的报告中。您无法让混合在多个报告中重复使用。不过,如果您复制报告,混合也会复制到新报告中,因此您的图表将继续使用混合数据。
- 底层数据源中的指标在混合中会变成未聚合的数值维度。如需了解详情,请参阅混合提示和高级概念文档页面。
- 混合没有自己的数据新鲜度或凭据设置。这些设置是从底层数据源继承的。
混合的工作原理
数据库程序员使用 SQL 联接语句来混合来自不同表的数据。在数据洞察中,您可以混合数据,而无需编写代码。您可以使用混合编辑器来配置联接,如以下屏幕截图所示:

图例:
- 表
- 联接配置
- 联接另一个表 按钮
- 混合名称
- 纳入的维度和指标
- 添加指标、日期范围和过滤条件
- 隐藏重复的联接字段 选项和 SAVE 按钮
表
混合由“表”组成。 当您修改或创建混合时,您会在界面中看到其表。每个表都包含一组从底层数据源提取的字段。一个混合最多可以有 5 个表。
在联接表之前,数据洞察会根据每个表中包含的维度对每个表中的行进行分组和聚合。如果您选择的维度不包含每条记录的唯一标识符,则在预分组阶段,系统会折叠相同的行。这种折叠可能会导致行数比您直接对相同数据运行 SQL 联接查询得到的行数少。为防止行过早折叠,请为混合中的每个表向维度列表中添加唯一标识符字段(例如主键或唯一行 ID)。
如需向表中添加数据,请点击添加维度 或添加指标 。
联接条件中使用的字段会显示一个链接图标
。
联接配置
“联接配置” 用于关联混合中的成对表。联接配置由运算符(用于定义如何组合这些表中匹配和不匹配的记录)和条件(一组字段,用于定义表之间的关系)组成。
例如,在以下屏幕截图中,Grades 表通过 student_id 字段联接到 Students 表,并通过 class_id 字段联接到 Classes 表。这两个联接配置都使用左外联接运算符。

联接运算符
联接运算符决定了如何将混合中表的匹配行和不匹配行联接在一起。数据洞察支持以下联接运算符:
- 内联接:仅返回左表和右表中匹配的行。
- 左外联接:返回右表中匹配的行,以及左表中不匹配的行。
- 右外联接:返回左表中匹配的行,以及右表中不匹配的行。
- 全外联接:返回左表或右表中所有匹配的行。
- 交叉联接:返回左表和右表中所有可能的行组合。
如需详细了解联接运算符,请参阅 BigQuery 文档。
联接条件
联接条件是指每个表中都有的字段,可用于将这些表的记录关联在一起。例如,在 Google Analytics 和 Google Ads 图表的混合中,如果提取的两个表中都有广告系列名称 ,则数据洞察可以使用该字段来联接数据。
对于混合中的每个表,您都需要选择要在条件中使用的字段。请注意,您不必为每个表使用相同的字段,也不必让字段具有相同的名称,只要每个字段中的数据相同即可。例如,假设您想在单个图表中直观呈现客户、订单和商品。这些表可能包含以下字段:
Customers 表
customer_IDcustomer_name
Orders 表
cust_idorder_numberorder_total
Items 表
order_numberSKU
如需混合这些表,您需要使用 customer_ID 和 cust_id 字段作为联接条件,将 Customers 表与 Orders 表联接起来,并使用 order_number 作为联接条件,将 Orders 表与 Items 表联接起来。
纳入的维度和指标
混合的联接条件中使用的任何字段,以及您添加到混合中的任何其他维度或指标,都会列在纳入的维度和指标 部分中。这些字段将可用于任何基于混合的图表。
隐藏重复的联接字段
隐藏重复的联接字段 选项会排除联接条件中重复使用的字段。如需纳入重复的联接字段,请取消选择此选项。
例如,假设您要联接三个表:Grades、Students 和 Classes,并在联接配置中使用 student_id 和 class_id 字段。如果选择了隐藏重复的联接字段 选项,则混合仅包含 student_id 和 class_id 的一个实例。

对于相同的混合配置,如果取消选择隐藏重复的联接字段 选项,则混合现在包含 student_id 和 class_id 的多个实例,以及显示该字段的表的名称,例如 class_id (Grades)、class_id (Classes)、student_id (Grades) 和 student_id (Students)。

日期范围和过滤条件
您可以对一个或多个表应用日期范围或过滤条件,以限制混合中的数据。
混合示例
“课程、学生和成绩混合”示例演示了如何解决一个经典的数据混合用例。