入浴料と公衆浴場数の推移をTableauでグラフ化してみた
はじめに
Tableau DATA Saberに挑戦中です。
銭湯に行くことが好きなので、地域によって入浴にかける支出額や公衆浴場数にはどのような違いがあるのか見てみたいなと思い、初めてのVizとして題材にしてみることにしました。
これまで課題で扱ってきた「サンプルスーパーストア」のデータと違い、自分でデータを探すこと・分析のために整えることが難しかったので、やってみたことを残していきます。
その1:データを探す
①入浴にかける支出額
総務省統計局の「家計調査 家計収支編」からデータを取りました。
これは都道府県別の情報ではなく都市別でデータが取られているのが特徴です。
②公衆浴場数の推移
こちらも総務省統計局のデータを使用しました。
今回は欲しいデータをCSVダウンロードしましたが、既にダッシュボード化されているものがあったり、API連携できたりと色々な機能が備わっていたので今後有効活用してみたいです。
こちらは都道府県別のデータのため①との紐づけが必要となります。
③都道府県と県庁所在地の紐づけ
①②のデータを紐づけるために、都道府県名とその県庁所在地を対応させた一覧を用意しました。
その2:Tableauにデータを取り込む
最終形
①~③のデータを下図のように結合しました。
いくつか苦戦した点を記載します。
年によってカラム名が異なるデータのマージ
①のデータは年ごとに分かれていたのでユニオンしたのですが、
2019年までと2020年以降でカラム名が異なっており、都市情報が2列に分かれてしまいました。
「一致していないフィールドをマージ」をすることで、1列にまとめることができました。
データから数字を排除する
①の2020年以降のデータには、市町村名の前に番号が付いていました。
2019年以前のデータには含まれていないので、カスタム分割やRIGHT関数等で「区切る」のではなく、「数字を排除する」形で対応しました。
REGEXP_REPLACEとREGEXP_EXTRACTを使用して、一度全ての行に「1」を追加した後に数字を置換する(空白にする)形にしました。
TRIM(REGEXP_REPLACE([都市階級・地方・都道府県庁所在市 & 地方],REGEXP_EXTRACT([都市階級・地方・都道府県庁所在市 & 地方]+'1', '(\d+)'),''))
その3:ダッシュボードを作成する
最終形
地図で都道府県を選択するとその都市(支出額はその都道府県の県庁所在地、公衆浴場数は都道府県内の合計)の各グラフの推移が分かるようにしました。
グラフの作成
全国平均(トータルを都市数47で割ったもの)との比較が分かるように、リファレンスバンドを入れて作成しました。
ダッシュボードの作成
「地図で気になる都道府県をクリック→グラフを確認」という流れにしたかったので、地図を左、グラフを右に置きました。
フィルターアクションは以下のように設定しています。
全国トータルの値を見たい場合もあるかなと思い、選択項目をクリアした結果は「すべての値を表示」にしました。
おわりに
冒頭にも記載しましたが、Viz作成を通じて「データを用意すること」が大切かつ大変であることを実感できました。
今後業務でデータを使う場合は、複数データを組み合わせる時にそれぞれで不整合が起きていないか(列名が変わっていたり、表記ゆれがあったりしないか)をチェックする癖を付けたいなと思いました。
またデータを提供する立場になる際は、カラム名の命名規則を整備する、1列に複数情報を入れない、など分析しやすい形にできるよう留意したいです。
想像以上に国や自治体では様々なデータを公開していることも分かったので、今後も興味を持って情報収集していきたいと思いました。
この記事が気に入ったらサポートをしてみませんか?