結合だけじゃない?!Tableauで複数テーブルを「関係」で紐づける方法

こんにちは。TableauのData Saberトレーニングを受けている者です。

Data Saberとは?

データを通して世界を理解し、それを人に正しく伝える努力を怠らず、人の心を動かし、行動を促す。これがDATA Saberである。

https://datasaber.world/

この記事ではTableauでの複数テーブルを組み合わせる手順で私のやってみた方法を紹介します。

誰向けの記事か?
Tableauを学び始めた初心者の方
8. HandsOn - Advanced I実施中の方

この記事の狙い
記事を読んだ人が、Tableau上で同じキーを持つ複数テーブルを「関係」させる方法がわかるようになる。

記事を書いた背景
私がData Saber課題8 Q10のテーブル結合のところで躓いたのですが、MasterのKTさんの動画解説を見ても同じ手順ではうまくいかず、、(Tableauバージョンの影響かと思います)
別の手順で無事組み合わせることができたので、もし同じ状況の方がいたら参考にしてもらえるかなと思い記事にしました。
余談ですが、ここであえて「結合」でなく「組み合わせる」という言葉を用いているかというと、「関係」と「結合」はTableauのテーブルの組み合わせにおいて、異なる組み合わせメソッドであるためです。今回は、「結合」でなく「関係」というメソッドを用いて複数テーブルを一つのデータソースとして「組み合わせる」手順をご紹介します。

関係と結合の違い
関係は、複数のテーブルのデータを分析用に組み合わせる…

https://help.tableau.com/current/pro/desktop/ja-jp/datasource_relationships_learnmorepage.htm

前置きが長くなりましたが、ここからテーブル結合やっていきましょう!
結合の手順は、Data saber課題 8. HandsOn - Advanced I Q10を基にして説明します!
※基本のマスタ(ここでの具体例は「サンプル - スーパーストア」)は取得済の前提で進めます。

テーブル結合のゴール
取得済マスタ「サンプル - スーパーストア」に対し、「Customer_Master」と「地方の情報付き都道府県リスト」を関連付けて一つのデータソースとして使えるようにする

Ⅰ.「サンプル - スーパーストア」と「Customer_Master」を関連付ける
1.データタブから、「サンプル - スーパーストア」をクリックし、データ抽出画面を開く。

2.DAY6_Customer_Master.csvをTableauに取り込む。
※注文テーブル表示画面にドラッグ&ドロップで取り込み可能

すると、接続対象にCustomer_Masterが追加される。

3.注文テーブルとCustomer_Masterを結合する。
※Customer_Masterファイルを注文テーブルの隣にドラッグ&ドロップする

すると、以下のように結合エラーが表示される。

「リレーションシップを編集して、一致するフィールドを選択してください。」とのことなので、

以下から2つのテーブルのリレーションシップを設定していきましょう。
2つのテーブルファイルの中身を見てもらうとわかりますが、これらを関係づけるキーになるカラムは「顧客ID」であると見当がつくと思います。

以下のフィールドの設定で、2つのテーブルを関連付けていきましょう。

エラーが解消し、ここまでで「注文」テーブルと「Customer_Master」が関係づけられました。

Ⅱ.「Customer_Master」と「地方の情報付き都道府県リスト」を関連付ける
4.「地方の情報付き都道府県リスト」を取り込む
※Customer_Masterの時と同様に、ドラッグ&ドロップで組み合わせていく

5.「Customer_Master」と「地方の情報付き都道府県リスト」の関係性をセットする。
「注文」と「Customer_Master」で関係づけたように、「Customer_Master」と「地方の情報付き都道府県リスト」の関係性をセットしたい。
しかし、もともとの「地方の情報付き都道府県リスト」が「地方/都道府県」で1列になっているため、ここでは都道府県列は出てこない。。
ここで使うのが、「関係の計算を作成」という機能です。「地方/都道府県」から都道府県に相当するものを計算式で設定します。

では、「地方/都道府県」から都道府県だけ抜き出したいわけですが、そのための計算式はどのように作成するのか?
(以降「分割計算式の作り方」は、計算式がわからない方だけ読んでみて下さい。)

ステップバイステップで考えてみましょう。

分割計算式の作り方
1列の値を特定の記号で分割して列を作成する「カスタム分割機能」を用いて、「地方の情報付き都道府県リスト」を地方都道府県に分割する計算式を作ってみましょう。

ⅰ.利用する「地方の情報付き都道府県リスト」を取り込むために、データファイルのリストをコピーして、新規ワークシート画面に貼り付け

データソースタブに移動すると、リストが取り込まれている。

ⅱ.list列の▼メニューからカスタム分割を選択する

ⅲ.区切り文字を「/(スラッシュ)」として、最初と最後の1列で分割列を作成する。

すると、データプレビューに分割済みの2列が反映されて表示される。

わかりやすいように列名を変更しておきましょう。

これで、計算式を取得したい値の2列が作成されました。
ⅳ.それぞれの値取得の計算式を見るには、list列の▼メニューから編集を選択すると

以下のように計算式が見られます。

「地方/都道府県」から都道府県だけ抜き出すための計算式作成方法「分割計算式の作り方」については以上です。

それでは本題の
5.「Customer_Master」と「地方の情報付き都道府県リスト」の関係性をセットする。
に戻りましょう。
あとは、この計算式をコピーしてもとの関係設定画面に戻り、

「関係の計算を作成」から先ほどコピーした計算式式を貼り付ければ

先ほどのエラーが解消され、3つのデーブルが関係付けられました!

6.Q8で利用するための地方列をこの関係づけしたテーブルに作成しておきましょう。
先ほどの計算式を取得したときと同じように、カスタム分割で地方列を作成したらよいですね。

(地方は/の前なので「最初の1列」です。)

地方列が作成できました。

以上で、「Customer_Master」と「地方の情報付き都道府県リスト」を関連付ける作業は終了です。

Ⅲ.関係付けたテーブルの値が取得できるか確認する
最後に、新規ワークシートを開き地方列をセットしたときに、きちんと全地方が取れているか確認しましょう。

きちんととれました。

以上が「関係」を用いた複数テーブルの組み合わせ方法の紹介です。

本記事のまとめ
Ⅰ.「サンプル - スーパーストア」と「Customer_Master」を関連付ける
Ⅱ.「Customer_Master」と「地方の情報付き都道府県リスト」を関連付ける
Ⅲ.関係付けたテーブルの値が取得できるか確認する
ポイントは、

  • Ⅱの関係づけの時に、「地方の情報付き都道府県リスト」から関係づけキーの値を計算式を用いて取得すること

  • 文字列分割の計算式を取得するときには、カスタム分割機能を用いて式が取得できること

でした!

読んでいただきありがとうございました。


この記事が気に入ったらサポートをしてみませんか?