学校の管理者であり、提供しているクラス、それに登録している生徒、各クラスの生徒が収めた成績に関する情報を保存しているとします。データポータルでは、データの統合機能を使用して、このような情報のトラッキングと視覚化を行うことができます。
答えを要する質問
この例では、データに関してよくある次の質問に答えます。
- どの生徒がどのクラスを受講し、各生徒が各クラスでどのような成績を収めましたか?
- 各クラスの成績の最高点は何点でしたか?
- 各クラスで最高点を収めた生徒は誰ですか?
サンプルデータ
例で使用するデータは次のとおりです。
クラス:
| class_id |
class_name |
|---|---|
| c1 |
Underwater basket weaving |
| c2 |
Home fusion made easy |
| c3 |
How to train an attack iguana |
| c4 |
Learn SQL for fun and profit |
生徒:
| 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 |
設定
まず、データポータルでデータソースを作成して、データに接続します。デモレポートでは基となるデータにスプレッドシートが使用されていますが、このデータを BigQuery や MySQL などのデータベースに格納することもできます。
- 新しいレポートを作成する。
- サンプルデータに対応する次の 3 つのデータソースを追加します。
- クラス
- 学生
- 成績
データソースを作成して編集する方法について説明します。
質問 1: 生徒、クラス、収めた成績について
質問: "どの生徒がどのクラスを受講したか?各クラスで各生徒が収めた成績は?"
この質問に答えるには、次の手順を行います。
- 新しい統合を作成します。
- 次のディメンションを指定して、Grades テーブルを追加します。
student_idclass_idgrade
- 次のディメンションを指定して、Students テーブルを追加します。
student_idstudent_name
- 次のディメンションを指定して、Classes テーブルを追加します。
class_idclass_name
student_idで Grades を Students に結合します。class_idで Grades を Classes に結合します。- 両方の結合オペレーションを左外部結合に設定します。

- 結合を保存して、エディタを閉じます。
student_name、class_name、gradeの各フィールドを使用してテーブルをレポートに追加します。student_nameの降順でテーブルを並べ替えます。
テーブルは次のようになります。
| student_name | class_name | 採点する |
|---|---|---|
| Brett 氏 | Underwater basket weaving | 2 |
| Brett 氏 | How to train an attack iguana | 7 |
| Brett 氏 | Learn SQL for fun and profit | 94 |
| Jennifer | Underwater basket weaving | 3 |
| Jennifer | Home fusion made easy | 48 |
| Jennifer | How to train an attack iguana | 32 |
| Jennifer | Learn SQL for fun and profit | 20 |
| Rick | Underwater basket weaving | 99 |
| Rick | Home fusion made easy | 38 |
| Rick | Learn SQL for fun and profit | 63 |
| Susanna | Underwater basket weaving | 65 |
| Susanna | Home fusion made easy | 88 |
| Susanna | Learn SQL for fun and profit | 75 |
質問 2: クラス別の成績の最高点
質問: "各クラスの成績の最高点は?"
この質問に答えるには、次の手順を行います。
- 質問 1 と同じ統合を使用します。
- レポートにテーブルを追加します。
- ディメンションとして
class_nameを、指標としてgradeを追加します。 gradeフィールドを次のように編集します。- 名前を「
max_grade」に変更します。 - 集計を MAX に設定します。
- 名前を「
テーブルを
max_gradeの降順で並べ替えてください。![[テーブル] の [設定] タブ。データソースに [統合データ]、ディメンションに [class_name]、指標に [max_grade] が設定されている。](https://docs.cloud.google.com/static/data-studio/images/max-grade-table-2022-02-15.png?hl=ja)
テーブルは次のようになります。
| class_name | max_grade |
|---|---|
| Underwater basket weaving | 99 |
| Learn SQL for fun and profit | 94 |
| How to train an attack iguana | 32 |
| Home fusion made easy | 88 |
質問 3: クラスごとの成績の最高点を収めた生徒
質問:"各クラスで最高点を収めた生徒は誰か?"
この質問に答えるには、次の手順を行います。
- 新しい統合を作成します。
- 次のディメンションを指定して、Classes テーブルを追加します。
class_idclass_name
- Grades テーブルを追加して「Grades 1」という名前を付け、ディメンション
class_idを追加します。 - 指標として
gradeを追加し、集計方法を MAX に設定します。 gradeをmax_gradeに名前を変更します。- もう一度 Grades テーブルを追加し、「Grades 2」と名前を付けて、次のディメンションを追加します。
student_idclass_idgrade
- 次のディメンションを指定して、Students テーブルを追加します。
student_idstudent_name
- 結合ごとに左外部結合 を使用します。
class_idで Classes を Grades に結合します。- 次を使用して Grades を 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 のディメンションと max_grade の指標が選択された、統合データテーブル グラフの [設定] タブ。](https://docs.cloud.google.com/static/data-studio/images/max-grade-student-class-table-2022-02-15.png?hl=ja)
テーブルは次のようになります。
| student_name | class_name | max_grade |
|---|---|---|
| Rick | Underwater basket weaving | 99 |
| Brett 氏 | Learn SQL for fun and profit | 94 |
| Susanna | Home fusion made easy | 88 |
| Jennifer | How to train an attack iguana | 32 |