混合示例:课程、学生和成绩

在数据洞察中混合来自多个相关来源的数据,以对关系进行建模并构建统一的多表报告。本演示中的示例数据包含来自学术环境的三个数据集:课程、注册学生和成绩。您可以将这些数据集混合成一个数据集,以回答有关学生表现的问题。

要回答的问题

此示例回答了您可能对数据提出的以下问题:

  • 哪些学生上了哪些课程,以及每个学生在每门课程中获得了什么成绩?
  • 每门课程的最高成绩是多少?
  • 哪个学生在每个班级中获得了最高成绩?

样本数据

以下是示例中使用的数据。

课程:

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. 创建新报告。
  2. 添加与示例数据对应的三个数据源:
    1. 类
    2. 学生
    3. 成绩

了解如何创建和修改数据源。

问题 1:学生、课程和成绩

问题:“哪些学生上了哪些课程,每个学生在每门课程中获得了什么成绩?”

如需回答此问题,请按以下步骤操作:

  1. 创建新混合。
  2. 添加一个包含以下维度的成绩表:
    1. student_id
    2. class_id
    3. grade
  3. 添加一个包含以下维度的 Students 表:
    1. student_id
    2. student_name
  4. 添加一个包含以下维度的课程表:
    1. class_id
    2. class_name
  5. 使用 student_id 将 Grades 与 Students 联接。
  6. 使用 class_id 将 Grades 与 Classes 联接。
  7. 将两个合并操作都设置为左外。 混合配置显示在“成绩”表和“学生”表之间以及“学生”表和“课程”表之间选择的左外联接操作。
  8. 保存混合并关闭编辑器。
  9. 向报告中添加一个包含 student_name、class_name 和 grade 字段的表格。
  10. 按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. 使用与问题 1 中相同的混合。
  2. 向报告中添加表格。
  3. 将 class_name 添加为维度,将 grade 添加为指标。
  4. 按如下方式修改 grade 字段:
    1. 将名称更改为 max_grade。
    2. 将聚合设置为最大值。
  5. 按max_grade对表格进行降序排序。

    “表格设置”标签页,其中“混合数据”作为数据源,“class_name”作为维度,“max_grade”作为指标。

您的表格应如下所示:

class_name max_grade
水下编篮 99
学习 SQL,乐趣多多,收获满满 94
如何训练攻击型鬣蜥 32
轻松实现家居融合 88

问题 3:按学生和课程统计的最高成绩

问题:“每个班级中成绩最高的学生是谁?”

如需回答此问题,请按以下步骤操作:

  1. 创建新混合。
  2. 添加一个包含以下维度的课程表:
    1. class_id
    2. class_name
  3. 添加一个成绩表,将其命名为成绩 1,然后添加维度 class_id。
  4. 将 grade 添加为指标,并将汇总方式设置为最大值。
  5. 将 grade 重命名为 max_grade。
  6. 再次添加成绩表,将其命名为成绩 2,然后添加以下维度:
    1. student_id
    2. class_id
    3. grade
  7. 添加一个学生表,其中包含以下维度:
    1. student_id
    2. student_name
  8. 每次合并时都使用左外。
  9. class_id,加入课程到一年级。
  10. 使用以下代码将 Grades 1 与 Grades 2 联接:
    1. class_id = class_id
    2. max_grade = grade
  11. 使用 student_id 将 Grades 2 与 Students 联接。

    混合配置显示了在“Classes”和“Grades 1”表、“Grades 1”和“Grades 2”表以及“Grades 2”和“Students”表之间选择的左外联接条件。

  12. 保存混合并关闭编辑器。

  13. 向报告中添加一个包含 student_name、class_name 和 max_grade 字段的表格。

    混合数据表格图表的“设置”标签页,其中选择了 student_name、class_name 和 max_grade 维度以及 max_grade 指标。

您的表格应如下所示:

student_name class_name max_grade
Rick 水下编篮 99
Brett 学习 SQL,乐趣多多,收获满满 94
Susanna 轻松实现家居融合 88
Jennifer 如何训练攻击型鬣蜥 32

后续步骤

详细了解混合提示和高级概念。