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

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

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

对于相同的混合配置,如果取消选中隐藏重复的联接字段选项,则混合现在包含student_id和class_id的多个实例,以及显示相应字段的表的名称,例如class_id(成绩)、class_id(课程)、student_id(成绩)和student_id(学生)。

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