学習の目的
この単元を完了すると、次のことができるようになります。
- 複数の関係を使用して複雑なデータモデルを構築する。
- 関係を手作業で設定する。
チェック: Tableau Public アカウントに接続する
まだ Tableau Public アカウントがない場合やプレイグラウンドがタイムアウトした場合は、右側の [Playground (プレイグラウンド)] ウィンドウでアカウントにログインしてください。まだ Tableau Public アカウントをお持ちでない場合は、この時点で登録し、アカウントを有効化してから、このインタラクティブな単元に取り組んでください。詳しい手順は、このモジュールの最初の単元に記載されています。
詳細な分析をするためにデータモデルの複雑性を高める
ここでデータを追加します! 現在、Tableau のオーサリング環境を開いています。またすぐ戻ってきますが、ここで一旦データモデルの設定に戻りましょう。最初の数ステップは、前の単元の繰り返しのように感じられるかもしれませんが、ここでデータモデルをきちんと理解していることを確認しておきます。
- ツールバーの [New Data Source (新しいデータ ソース)] アイコンをクリックします。
- [Files (ファイル)] タブで、[Upload from computer (コンピューターからアップロード)] をクリックします。zip が見つからない場合は、こちらをクリックしてもう一度ダウンロードしてください。
-
[Episodes.csv] をアップロードします。
- 左ペインの [Connections (接続)] の横にある + アイコンをクリックして、[Seasons.csv] をアップロードします。
- 左ペインの [Files (ファイル)] から、[Seasons.csv] をキャンバスにドラッグします。
- さらにデータを追加します。[Connections (接続)] の横にある + アイコンをクリックして、[ChallengeBakes.csv] をアップロードします。
-
[ChallengeBakes.csv] テーブルをキャンバスにドラッグします。[Episodes.csv] と [ChallengeBakes.csv] もヌードルでつながっていることを確認します。
- つまり、[ChallengeBakes.csv] が [Seasons.csv] の後に続くのではありません。テーブルが間違った場所に配置されたときは、そのテーブルにカーソルを合わせてキャレットをクリックし、ドロップダウンメニューを開いてテーブルを削除してから、もう一度やり直します。また、ツールバーに常に [Undo (元に戻す)] ボタンも表示されています。
- テーブルは必ず左ペインの [Files (ファイル)] エリアから取り込み、接続情報をドラッグしないようにします。
- つまり、[ChallengeBakes.csv] が [Seasons.csv] の後に続くのではありません。テーブルが間違った場所に配置されたときは、そのテーブルにカーソルを合わせてキャレットをクリックし、ドロップダウンメニューを開いてテーブルを削除してから、もう一度やり直します。また、ツールバーに常に [Undo (元に戻す)] ボタンも表示されています。
おっと! ヌードルが切れています。
手動の関係を作成する
Tableau で関係が自動的に作成されないこともあり、その時は自分で設定しなければなりません。
- 切れたヌードルが選択されていることを確認してください。
- [Preview (プレビュー)] ペインで、[Episodes.csv] のヘッダーの下にある [Select a field (フィールドの選択)] ドロップダウンを開きます。
-
[Episode (エピソード)] を選択します。下部のペインのサイズを変更する必要がある場合は、画面中央にあるツールバーの上にカーソルを合わせると、サイズ変更ハンドルが表示されます。
- [ChallengeBakes.csv] の下にある [Select a field (フィールドの選択)] ドロップダウンを開きます。
-
[Episode (ChallengeBakes.csv) (エピソード (ChallengeBakes.csv))] を選択します。
これは、[Episodes] テーブルの [Episode (エピソード)] フィールドと [ChallengeBakes] テーブルの [Episode (ChallengeBakes.csv) (エピソード (ChallengeBakes.csv))] フィールド間の関係句です。
関係句を追加する
このままだと、(シーズンに関係なく) すべてのエピソード 3 のエピソード情報を、(シーズンに関係なく) すべてのエピソード 3 のチャレンジと結び付けることになります。実際には、s1e3 の情報を s1e3 の情報に結び付け、s2e3 の情報を s2e3 の情報に結び付けるといった方法で結合したいと考えています。このように処理するためには、[Season (シーズン)] に 2 つ目の関係句が必要です。2 つ目の関係句を作成して、同じシーズンの情報が結び付けられるようにします。
-
[Preview (プレビュー)] ペインで、[Add more fields (フィールドをさらに追加)] ボタンをクリックし、関係句を追加します。
- 下部のペインのサイズを変更する必要がある場合は、画面中央にあるツールバーの上にカーソルを合わせると、サイズ変更ハンドルが表示されます。
- 下部のペインのサイズを変更する必要がある場合は、画面中央にあるツールバーの上にカーソルを合わせると、サイズ変更ハンドルが表示されます。
- [Episodes.csv] の下にある [Select a field (フィールドの選択)] ドロップダウンをスクロールダウンして、[Season (シーズン)] を選択します。([Season Episode (シーズン/エピソード)] フィールドではありません。)
- [ChallengeBakes.csv] の下にある [Select a field (フィールドの選択)] ドロップダウンで、[Season (ChallengeBakes.csv) (シーズン (ChallengeBakes.csv))] を選択します。
これは、[Episodes] テーブルの [Season (シーズン)] フィールドと [ChallengeBakes] テーブルの [Season (シーズン)] フィールド間の関係句です。この 2 つのテーブルを関連付けるには、両方のフィールドの値セット ([Episode] と [Season]) が一致している必要があります。
- [Bakers] テーブルを追加します。[Connections (接続)] の横にある + アイコンをクリックして、[Bakers.csv] をアップロードします。
-
[Bakers.csv] テーブルを、キャンバスの [ChallengeBakes.csv] の右側にドラッグします。
- 左ペインの [Connections (接続)] エリアではなく、[Files (ファイル)] エリアからファイルをドラッグします。
-
[ChallengeBakes.csv] と [Bakers.csv] がヌードルでつながっていることを確認します。
- 左ペインの [Connections (接続)] エリアではなく、[Files (ファイル)] エリアからファイルをドラッグします。
- [ChallengeBakes.csv] と [Bakers.csv] 間の関係句を設定します。「Baker = Baker (Bakers.csv)」(ベーカー = ベーカー (Bakers.csv)) になります。
- [Outcomes] テーブルを追加します。[Outcomes.csv] をアップロードします。
-
[Outcomes] テーブルをドラッグして、[ChallengeBakes.csv] テーブルと関連付けます。
- これで、[ChallengeBakes.csv] が [Bakers.csv] と [Outcomes.csv] の 2 つのテーブルにつながっていることになります。
- これで、[ChallengeBakes.csv] が [Bakers.csv] と [Outcomes.csv] の 2 つのテーブルにつながっていることになります。
- 関係句が「Season Episode = SeasonEpisode (Outcomes.csv)」(シーズン/エピソード = SeasonEpisode (Outcomes.csv)) であることを確認します。
- これは、s2e3 のように SeasonEpisode 情報をまとめた結合フィールドで、エピソードとシーズンを別々に関連付けるのとは異なるやり方です。
- これは、s2e3 のように SeasonEpisode 情報をまとめた結合フィールドで、エピソードとシーズンを別々に関連付けるのとは異なるやり方です。
これで終わりです。データモデルが出来上がりました。このモデルはテーブルダイアグラムを参照することが増えるため、ここからはデータソースを参照します。(メモ: この 2 つのリンク先はかなり専門的です。内容を把握できる場合にのみ参照してください。先に進むためにこのリンク先の情報は必要ありません!)
データ ソースに名前をつける
最後にもう 1 つやっておくべきことがあります。常に、データ ソースにわかりやすい名前を付けておくことをお勧めします。ここでは元祖の番組名『Great British Bake Off (ブリティッシュベークオフ)』に敬意を表して GBBO とします。
- キャンバスの最上部の [Episode s.csv+ (Multiple Connections) (Episode s.csv+ (複数の接続))] と表示されている箇所をクリックして、
GBBO
と入力します。
お疲れさまでした!