【Tableau】縦持ちデータを自己結合させて散布図を作成してみた。
こんにちは、Data Saber - Bridge 3rdに挑戦中のeightmanです。
今回は、縦持ちデータを使って、複数項目の中から自由に選択して散布図を表現する方法をご紹介します。
【完成イメージ】
1.縦持ちデータを用意する。
中核市市長会HPで公開されている都市要覧(統計指標)を使いました。
以下のデータは令和5年度のデータをTableauで使いやすいよう※に加工したデータです。そのままお使いいただけます。
元々公開されている都市要覧のデータは、横持ちデータかつ前処理が必要になるので、prepやpowerquery等で前処理、ピボットして縦持ちデータに加工することが必要です。
※ここでいう使いやすいとは、最終的に散布図を完成させた時に、ヘッダーやツールヒント等で、項目名や単位を綺麗に表示するためのことをいいます。
2.Tableauで縦持ちデータを自己結合する。
上記で用意したデータをTableauに読み込ませ、自己結合(self-join)させます。自己結合とは同じデータテーブル同士を結合することです。基本的な内容は以下を参考にしてみてください。
【参考】
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
今回は、以下画像のように自己結合させます。
結合結果の一部を見ると以下のようになっています。
一つの項目とその値(人口242,467)に対して、全ての項目とそれらの値(人口、外国人人口、一般行政職員数・・・等)が結合しています。
自己結合後のデータのエクスポート結果は以下のとおりです。項目名は便宜上、結合元を「横軸用」、結合データを「縦軸用」としています。
3.散布図を作成する。
それでは、実際にこのデータを使って散布図を作成してみましょう。
1.以下の通り、ディメンションとメジャーを列シェルフ、行シェルフにドラッグ&ドロップします。
※それぞれのメジャー「値」については集計を「平均」にしておきます。
2.それぞれのシェルフに入れたディメンションをフィルターシェルフに入れます。
3.それぞれのフィルターを表示させ、「カスタマイズ」→「すべて」の値を表示をオフにし、フィルターの種類を「単一値(リスト)」に変更します。
4.「自治体No.中核市名(横軸用)」ディメンションをマークカードの詳細に入れて、表示形式を「自動」→「円」にして、色の不透明度を40%程度にします。
4.アナリティクスペインから「傾向線」→「線形」を選択し、フィルターでそれぞれ別項目を選択すると以下の状態になります。
ほぼ完成が見えてきました。
5.最後に見た目やツールヒントを綺麗にしていきます。
軸のタイトルを空白にする。(軸の編集→タイトルを削除)
それぞれのフィールドラベルを非表示にする。
縦軸のラベルを回転させる。
それぞれの「値」の数値形式を既定のプロパティで「数値(標準」)に変更する。
ツールヒントの表記を綺麗に表示させるため、それぞれのディメンションをマークカードのツールヒントに入れる。
ツールヒントの表示内容を整理する。
7.タイトルを動的に変更させるように設定して完成です。
自由に項目を選択して、相関を確認することができるようになりました。本来は横軸のラベルを下部に表記したいのですが、わからず。知っている方がいらっしゃいましたら教えてください。
今回の完成版は以下のTableau Publicに掲載しています。
4.次回投稿について
今回は、縦持ちデータを使って自己結合を行い、複数項目の中から自由に選択して散布図を表現する方法をご紹介しました。
しかし、それぞれの相関係数を逐一確認するのは少し手間ですよね。
そこで、次回はそれぞれの項目間での相関係数を一度に算出して、相関係数と散布図をリンクさせる方法をご紹介したいと思います。
最後までご覧いただきありがとうございました。