見出し画像

TableauViz 募集キャンペーンに参加してみた話

第3弾のテーマは『紅葉』とのことで、こういうキャンペーンに応募するのは初めてだったのですが頑張ってViz作ってみました。

投稿したVizはこちら

ちなみにすでにキャンペーンは終わってますので予めご承知おきください。


キャンペーン概要

テーマ
今回のテーマ「紅葉」に沿ったTableau Vizを制作してください。紅葉スポットやカレンダーなど、使用するオープンデータは自由です。
提出方法
1. Salesforce Japan のX公式アカウントをフォロー
2. Xのキャンペーンポストへの返信で、「紅葉」に関連したVizを投稿します。その際、ハッシュタグ #TableauViz と #PR を付けて投稿してください。

Tableau初心者(半年以内の方)は、投稿時に「☘️」を追加してください。(ルーキー賞の対象となります。)
応募資格
Tableau初心者から上級者まで、どなたでもご参加いただけます。
応募期間
2024/11/5 (火) 〜 11/22 (金) まで
当選商品
上位入賞者10名:アストロまたはコーディのぬいぐるみ (いずれか1つ)
ルーキー賞:オリジナルソックス

https://www.salesforce.com/jp/blog/jp-tableau-viz-sweepstakes/?utm_campaign=jp_cbaw&utm_source=twitter&utm_medium=organic_social&utm_content=1730794953

どんなVizにしようか考えてみた

テーマが『紅葉』だったので頭にパッと浮かんだのはよくある【紅葉の見頃】を地図にプロットしたものでした。

そうと決まればと、早速【紅葉 データ】とか検索してみると気象庁のサイトがヒットしました。
幸いCSVでかえでの紅葉と落葉のデータがあったのでDLしていざViz作り〜、と思ったのですがTableauで分析するにはやりづらいデータでした。

概要はこんな感じ↓

  1. いわゆる横持ちデータ

  2. 値は月日が数値

  3. 地点名はあるものの緯度経度の情報とかがない

  4. 地点名と都道府県の対照表もない

1についてはピボットでなんとかなりそう。
2についてもまぁ大丈夫だろう。
3と4については他にデータ探す。
ということで早速データ加工に取りかかりました。

データ加工でつまづいた・・・

上記の通り、当初の私は割と簡単に処理できるかなーと思ってました。
実際に地点名と緯度経度については気象庁にこんなページもありましたし、地点名と都道府県についても同じく気象庁に一覧がありました。
一覧については抽出できなそうだったので、コピペしてテキストファイルつくりました。

じゃあ何でつまづいたのかというと、各データの結合と日付値です。
順序立てて書いてみます。
ちなみに加工は全てTableau Prep Builderで行いました。

紅葉&落葉データの加工

まずは横持ちデータを縦持ちにするためにピボット。

ピボット

地点番号というユニークキーと年の値があったので、そのどちらもを結合句にして内部結合。

内部結合

国際地点番号表の加工

その後、国際地点番号表から緯度経度を分割。

分割前
カスタム分割
区切り文字は【半角スペース】

地点番号も5桁だったので下3桁を抽出。

地点番号
RIGHT([IndexNbr],3)

紅葉&落葉データと国際地点番号表を結合

3桁同士の地点番号を結合句にして内部結合

ここまではサクサクと進んだのですが問題は次でした。

地点名と都道府県の対照表を結合

これについては地点名を結合句にしようとしましたが、なぜかうまくいかない・・・
漢字だからダメなのかとか色々考えてみましたがそんなこともなさそう。
ほんとは地点番号と都道府県が紐づいていたらいいのに、どう検索してもそれらしいのは無い。
自作した方が早いかなと諦めつつ、一つ一つ元データを調べてみました。

結果として、紅葉&落葉データの地点名にスペースが入ってました

ということでこれもPrepを使ってクリーニング。

クリーニング→すべてのスペースを削除

ここまでくればあとは普通に結合できました。

ようやくViz作り

加工でだいぶ時間を取られてしまったのでVizはサクサク作りたかったのですが、よくよく考えてみると当初考えていた【紅葉の見頃】っていうのはすでに完成形があるうえに今回のデータだけだとそこまで表現できなさそう。

ということで、すでに投稿されていた方が長期的傾向も気になるとポストしていたので方向性を変えて作成した次第です。

ただここでも一つ問題があって、紅葉から落葉までの日数平均を取ろうと思ったのですがDATEDIFF関数を使ってみるとマイナスになる地点が・・・。

あくまで私の解釈なのですが、元データの年と月日の値は1月〜3月の表記が少しわかりづらいことが原因かと考えて今度はその改修を図りました。

こんな感じで値が3桁のものがある

おそらく上記の値は1977年度および1978年度(ただし年度始まりの月は4月)のものなのだろうと推定し、こういった場合の年をプラス1年することに。

IF LEN(STR([紅葉]))=3
THEN "0"+STR([紅葉])
ELSE STR([紅葉])
END

まずは3桁の場合は先頭に0を追加して全ての値を4桁に。

IF LEFT([紅葉年月],1)="0" AND INT( LEFT([紅葉年月],2) ) < 4
THEN STR( INT([紅葉年])+1 )+[紅葉年月]
ELSE STR([紅葉年])+[紅葉年月]
END

その後、先頭が0かつ二文字目が4未満の場合に、年に対してプラス1する。

こうしてようやく前処理が全て終わって冒頭のようなVizを作ることができました。

長期的な傾向としては、紅葉から落葉までの日数、つまりは紅葉している期間は短くなっているようでした。
地域としては東北以北は比較的紅葉している期間が短いようでしたが、たとえば南に行けば行くほど長くなる、ということでもなさそうでした。

ここにその時期の気温や天候なんかを合わせればもっと関係性が見えてきそうですが、時間の都合(応募に間に合わせたい)と気力の問題で断念。

キャンペーンに参加してみて感じたこと

今までは作っていたダッシュボードはどうしても【仕事】のものばかりでしたし、MoMWoWはスキルアップ目的なので【勉強】感が強かったので、今回のように純粋な興味でデータに触れるのは楽しかったです。

ただ、やっぱりデータ加工のしんどさには悩まされました。
データ収集という点ではオープンデータが充実した世の中になっているので、探そうと思えば色々ありますし、e-Statのデータなんかもしっかり使ってみたいなと感じました。

このような機会を作っていただいたSalesforce Japan様(Xはこちら)にはこの場をお借りして改めて感謝申し上げます。

また、DATA Saber Bridge - 3rdに参加してなければ、こういうデータを使ったViz作りはしなかった気がします。
いろんな視点や視野で物事に触れることができ、ちょっと自分の視界が広がった気がします。

ダラダラとした長文になってしまったので反省しつつ、世の中のライター方の凄さも改めて認識できました。

次の機会があればまた頑張ってみようと思います。
皆様もぜひ!

いいなと思ったら応援しよう!