統合の例: クラス、生徒、成績

学校の管理者であり、提供しているクラス、それに登録している生徒、各クラスの生徒が収めた成績に関する情報を保存しているとします。データポータルでは、データの統合機能を使用して、このような情報のトラッキングと視覚化を行うことができます。

答えを要する質問

この例では、データに関してよくある次の質問に答えます。

  • どの生徒がどのクラスを受講し、各生徒が各クラスでどのような成績を収めましたか?
  • 各クラスの成績の最高点は何点でしたか?
  • 各クラスで最高点を収めた生徒は誰ですか?

サンプルデータ

例で使用するデータは次のとおりです。

クラス:

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 などのデータベースに格納することもできます。

  1. 新しいレポートを作成する。
  2. サンプルデータに対応する次の 3 つのデータソースを追加します。
    1. クラス
    2. 学生
    3. 成績

データソースを作成して編集する方法について説明します。

質問 1: 生徒、クラス、収めた成績について

質問: "どの生徒がどのクラスを受講したか?各クラスで各生徒が収めた成績は?"

この質問に答えるには、次の手順を行います。

  1. 新しい統合を作成します。
  2. 次のディメンションを指定して、Grades テーブルを追加します。
    1. student_id
    2. class_id
    3. grade
  3. 次のディメンションを指定して、Students テーブルを追加します。
    1. student_id
    2. student_name
  4. 次のディメンションを指定して、Classes テーブルを追加します。
    1. class_id
    2. class_name
  5. student_idGradesStudents に結合します。
  6. class_idGradesClasses に結合します。
  7. 両方の結合オペレーションを左外部結合に設定します。 統合設定には、Grades テーブルと Students テーブルの間、および Students テーブルと Classes テーブルの間で選択された左外部結合条件が表示されます。
  8. 結合を保存して、エディタを閉じます。
  9. student_nameclass_namegrade の各フィールドを使用してテーブルをレポートに追加します。
  10. 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. 質問 1 と同じ統合を使用します。
  2. レポートにテーブルを追加します。
  3. ディメンションとして class_name を、指標として grade を追加します。
  4. grade フィールドを次のように編集します。
    1. 名前を「max_grade」に変更します。
    2. 集計を MAX に設定します。
  5. テーブルを max_grade の降順で並べ替えてください。

    [テーブル] の [設定] タブ。データソースに [統合データ]、ディメンションに [class_name]、指標に [max_grade] が設定されている。

テーブルは次のようになります。

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: クラスごとの成績の最高点を収めた生徒

質問:"各クラスで最高点を収めた生徒は誰か?"

この質問に答えるには、次の手順を行います。

  1. 新しい統合を作成します。
  2. 次のディメンションを指定して、Classes テーブルを追加します。
    1. class_id
    2. class_name
  3. Grades テーブルを追加して「Grades 1」という名前を付け、ディメンション class_id を追加します。
  4. 指標として grade を追加し、集計方法を MAX に設定します。
  5. grademax_grade に名前を変更します。
  6. もう一度 Grades テーブルを追加し、「Grades 2」と名前を付けて、次のディメンションを追加します。
    1. student_id
    2. class_id
    3. grade
  7. 次のディメンションを指定して、Students テーブルを追加します。
    1. student_id
    2. student_name
  8. 結合ごとに左外部結合 を使用します。
  9. class_idClassesGrades に結合します。
  10. 次を使用して GradesGrades 2 に結合します。
    1. class_id = class_id
    2. max_grade = grade
  11. student_id を使って、Grades 2Students に結合します。

    統合設定には、Classes テーブルと Grades 1 テーブル、Grades 1 テーブルと Grades 2 テーブル、Grades 2 テーブルと Students テーブルの間で選択された左外部結合条件が表示されています。

  12. 結合を保存して、エディタを閉じます。

  13. student_nameclass_namemax_grade のフィールドがあるテーブルをレポートに追加します。

    student_name、class_name、max_grade のディメンションと max_grade の指標が選択された、統合データテーブル グラフの [設定] タブ。

テーブルは次のようになります。

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