您可以在数据洞察中混合数据,将来自多个来源的信息合并到一个视图中。您可以根据这些合并的数据创建图表、表格和控件。混合数据有助于您获得单独分析每个数据源时可能无法发现的洞见。
您最多可以混合五个不同的数据源。例如,您可以将不同 BigQuery 表中的客户记录与订单详情合并,以便在单个表中查看。您还可以将 Google Ads 和 Google Analytics 指标按时序组合在一起,以评估营销活动的效果。
准备工作
为了充分利用本指南,请确保您熟悉以下关键概念:
混合数据与数据源之间的区别
混合数据会创建一个名为“混合”的资源。与标准数据源一样,混合数据源可为报告图表和控件提供数据。不过,它们在以下几个重要方面有所不同:
- 混合数据会整合来自多个数据源的数据。
- 混合数据始终嵌入在您创建它们的报告中。虽然您无法在不同报告之间共享混合数据,但复制报告也会复制其混合数据,因此您的图表可以继续正常运行。
- 来自底层数据源的指标会成为混合数据源中未汇总的数字维度。如需了解详情,请参阅混合提示和高级概念。
- 混合数据会直接从底层数据源继承其数据新鲜度和凭据设置。
混合的运作方式
数据库程序员需要编写 SQL 语句来合并表格,而数据洞察让您无需编写任何代码即可混合数据。您可以使用混合编辑器来配置混合:

图例:
- 表
- 合并配置
- 合并另一个表按钮
- 混合名称
- 纳入的维度和指标
- 添加指标、日期范围和过滤条件
- 隐藏重复的合并字段选项和保存按钮
表
混合数据由表组成。混合编辑器中的每个表都包含从底层数据源中提取的字段。一个混合数据源中最多可以包含五个表格。
在合并之前,数据洞察会根据每个表的维度对其中的行进行分组和汇总。如果您的维度不包含每条记录的唯一标识符,则在预分组阶段,相同的行会收起。为确保每条记录保持独立,并防止行数过早减少,请在每个表的维度列表中添加唯一标识符字段(例如主键或行 ID)。
如需向表格中添加数据,请点击添加维度或添加指标。
合并条件中使用的字段会显示 链接图标。
合并配置
合并配置用于关联混合中的表对。每个合并配置都包含一个合并运算符(用于定义是水平合并记录 [联接] 还是垂直堆叠行 [并集])和合并条件(用于指定每个表中的字段如何关联或配对)。
例如,在以下屏幕截图中,Grades 表通过 student_id 字段与 Students 表联接,并通过 class_id 字段与 Classes 表联接。这两种合并配置都使用左外联接运算符。

合并运算符
合并运算符决定了如何合并混合数据源中各表的数据。数据洞察支持五种联接运算符和并集运算符:
- 内联接:从左表和右表只返回匹配行。
- 左外联接:从右表返回匹配行,从左表返回不匹配行。
- 右外联接:从左表返回匹配行,从右表返回不匹配行。
- 全外联接:从左表和右表返回所有行,无论是否匹配。
- 交叉联接:从左表和右表返回所有可能的行组合。
- 并集:将右侧表格中的行附加到左侧表格,实现纵向堆叠并移除重复行。
联接和并集有何区别?
联接和并集都可让您合并来自不同来源或表的数据。这两种方法的区别在于数据的组合方式:联接是水平组合数据(通过添加列),而并集是垂直组合数据(通过添加行)。
联接和并集示例
展开以下部分,查看联接和并集的示例。
联接示例:横向合并数据
联接操作会根据共同的标识符,将两个或更多个表并排链接起来。使用联接操作添加信息列,从而丰富数据集。
场景:您想将一个包含客户姓名列表的表与另一个包含客户总销售额数据的表合并。两个表必须共享一个公共字段(例如客户 ID),以便将第一个表中的行与第二个表中的行进行匹配。
| 表 1:客户详细信息 | 表 2:销售数据 |
|---|
| 客户 ID | 客户名称 | 客户 ID | 总销售额 |
|---|---|---|---|
| 101 | Alex | 101 | $5,000 |
| 102 | Jie | 102 | 3,200 美元 |
如需将这些数据混合到一个表格中,您可以使用左外联接运算符,并通过客户 ID 字段关联这些表格。这两个表会水平合并为一个更宽的表,其中 Customer Name 和 Total Sales 位于同一行。
| 客户 ID | 客户名称 | 总销售额 |
|---|---|---|
| 101 | Alex | $5,000 |
| 102 | Jie | 3,200 美元 |
并集示例:纵向附加数据
并集操作会获取两个或更多结构相同(列相同且顺序相同)的表,并将它们堆叠在一起。使用并集将一个数据集附加到另一个数据集,以便更全面地了解数据。
场景:您有三个单独的销售表,分别对应 1 月、2 月和 3 月,您希望将它们合并到一个数据集中,以便进行完整的季度分析。
表 1:1 月销售报告
| 日期 | 区域 | 收入 |
|---|---|---|
| 1 月 1 日 | 东部地区 | $100 |
| 1 月 2 日 | West | $200 |
表 2:2 月销售报告
| 日期 | 区域 | 收入 |
|---|---|---|
| 2 月 1 日 | 东部地区 | $150 |
| 2 月 2 日 | West | $250 |
表 3:3 月份销售报告
| 日期 | 区域 | 收入 |
|---|---|---|
| 3 月 1 日 | 东部地区 | $180 |
| 3 月 2 日 | West | $280 |
如需根据三个月度销售表创建一个表,您可以在这些表之间使用 Union 运算符。数据将垂直附加,从而创建一个更长的表,其中保留了所有原始列。
| 日期 | 区域 | 收入 |
|---|---|---|
| 1 月 1 日 | 东部地区 | $100 |
| 1 月 2 日 | West | $200 |
| 2 月 1 日 | 东部地区 | $150 |
| 2 月 2 日 | West | $250 |
| 3 月 1 日 | 东部地区 | $180 |
| 3 月 2 日 | West | $280 |
如需详细了解联接运算符,请参阅 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 表联接起来。
纳入的维度和指标
混合数据的合并条件中使用的所有字段,以及您添加到混合数据中的任何其他维度或指标,都会列在包含的维度和指标部分中。这些字段可用于基于该混合数据的任何图表。
隐藏重复的合并字段
隐藏重复的合并字段选项会排除合并条件中使用的重复字段。如需在联接混合中包含重复的合并字段,请清除此选项。
例如,假设您要使用合并配置中的 student_id 和 class_id 字段联接三个表:Grades、Students 和 Classes。选择隐藏重复的合并字段选项后,混合数据源中仅包含 student_id 和 class_id 的一个实例。

对于相同的混合配置,如果清除隐藏重复的合并字段选项,则混合现在会包含 student_id 和 class_id 的多个实例,以及该字段所在的表的名称,例如 class_id(成绩)、class_id(课程)、student_id(成绩)和 student_id(学生)。

对于并集混合,系统会默认选择并锁定隐藏重复的合并字段选项。这会自动隐藏合并表中的冗余字段,从而创建一个更简洁的数据源视图,其中仅显示一组并集字段。
日期范围和过滤条件
您可以通过向一个或多个表格应用日期范围或过滤条件来限制混合中的数据。
混合示例
班级、学生和成绩混合示例演示了如何解决经典的数据混合用例。