在数据洞察中混合来自多个相关来源的数据,以对关系进行建模并构建统一的多表报告。本演示中的示例数据包含来自学术环境的三个数据集:课程、注册学生和成绩。您可以将这些数据集混合成一个数据集,以回答有关学生表现的问题。
要回答的问题
此示例回答了您可能对数据提出的以下问题:
- 哪些学生上了哪些课程,以及每个学生在每门课程中获得了什么成绩?
- 每门课程的最高成绩是多少?
- 哪个学生在每个班级中获得了最高成绩?
样本数据
以下是示例中使用的数据。
课程:
| class_id |
class_name |
|---|---|
| c1 |
水下编篮 |
| c2 |
轻松实现家居融合 |
| c3 |
如何训练攻击型鬣蜥 |
| c4 |
学习 SQL,乐趣与收益兼得 |
学生:
| student_id |
student_name |
|---|---|
| s1 |
Brett |
| s2 |
Rick |
| s3 |
Susanna |
| s4 |
Jennifer |
成绩:
| student_id |
class_id |
年级 |
|---|---|---|
| s1 |
c1 |
2 |
| s2 |
c1 |
99 |
| s3 |
c1 |
65 |
| s4 |
c1 |
3 |
| s2 |
c2 |
38 |
| s3 |
c2 |
88 |
| s4 |
c2 |
48 |
| s1 |
c3 |
7 |
| s4 |
c3 |
32 |
| s1 |
c4 |
94 |
| s2 |
c4 |
63 |
| s3 |
c4 |
75 |
| s4 |
c4 |
20 |
设置
第一步是在数据洞察中创建数据源,以连接到您的数据。演示报告使用 Google 表格作为底层数据,但您也可以将这些数据存储在数据库中,例如 BigQuery 或 MySQL。
- 创建新报告。
- 添加与示例数据对应的三个数据源:
- 类
- 学生
- 成绩
了解如何创建和修改数据源。
问题 1:学生、课程和成绩
问题:“哪些学生上了哪些课程,每个学生在每门课程中获得了什么成绩?”
如需回答此问题,请按以下步骤操作:
- 创建新混合。
- 添加一个包含以下维度的成绩表:
student_idclass_idgrade
- 添加一个包含以下维度的 Students 表:
student_idstudent_name
- 添加一个包含以下维度的课程表:
class_idclass_name
- 使用
student_id将 Grades 与 Students 联接。 - 使用
class_id将 Grades 与 Classes 联接。 - 将两个合并操作都设置为左外。

- 保存混合并关闭编辑器。
- 向报告中添加一个包含
student_name、class_name和grade字段的表格。 - 按
student_name对表格进行降序排序。
您的表格应如下所示:
| student_name | class_name | 年级 |
|---|---|---|
| Brett | 水下编篮 | 2 |
| Brett | 如何训练攻击型鬣蜥 | 7 |
| Brett | 学习 SQL,乐趣多多,收获满满 | 94 |
| Jennifer | 水下编篮 | 3 |
| Jennifer | 轻松实现家居融合 | 48 |
| Jennifer | 如何训练攻击型鬣蜥 | 32 |
| Jennifer | 学习 SQL,乐趣多多,收获满满 | 20 |
| Rick | 水下编篮 | 99 |
| Rick | 轻松实现家居融合 | 38 |
| Rick | 学习 SQL,乐趣多多,收获满满 | 63 |
| Susanna | 水下编篮 | 65 |
| Susanna | 轻松实现家居融合 | 88 |
| Susanna | 学习 SQL,乐趣多多,收获满满 | 75 |
问题 2:各班级的最高成绩
问题:“每个班级的最高成绩是多少?”
如需回答此问题,请按以下步骤操作:
- 使用与问题 1 中相同的混合。
- 向报告中添加表格。
- 将
class_name添加为维度,将grade添加为指标。 - 按如下方式修改
grade字段:- 将名称更改为
max_grade。 - 将聚合设置为最大值。
- 将名称更改为
按
max_grade对表格进行降序排序。
您的表格应如下所示:
| class_name | max_grade |
|---|---|
| 水下编篮 | 99 |
| 学习 SQL,乐趣多多,收获满满 | 94 |
| 如何训练攻击型鬣蜥 | 32 |
| 轻松实现家居融合 | 88 |
问题 3:按学生和课程统计的最高成绩
问题:“每个班级中成绩最高的学生是谁?”
如需回答此问题,请按以下步骤操作:
- 创建新混合。
- 添加一个包含以下维度的课程表:
class_idclass_name
- 添加一个成绩表,将其命名为成绩 1,然后添加维度
class_id。 - 将
grade添加为指标,并将汇总方式设置为最大值。 - 将
grade重命名为max_grade。 - 再次添加成绩表,将其命名为成绩 2,然后添加以下维度:
student_idclass_idgrade
- 添加一个学生表,其中包含以下维度:
student_idstudent_name
- 每次合并时都使用左外。
class_id,加入课程到一年级。- 使用以下代码将 Grades 1 与 Grades 2 联接:
class_id = class_idmax_grade = grade
使用
student_id将 Grades 2 与 Students 联接。
保存混合并关闭编辑器。
向报告中添加一个包含
student_name、class_name和max_grade字段的表格。
您的表格应如下所示:
| student_name | class_name | max_grade |
|---|---|---|
| Rick | 水下编篮 | 99 |
| Brett | 学习 SQL,乐趣多多,收获满满 | 94 |
| Susanna | 轻松实现家居融合 | 88 |
| Jennifer | 如何训练攻击型鬣蜥 | 32 |
后续步骤
详细了解混合提示和高级概念。