見出し画像

Tableauを本格的に使い始めて1年経って③

新しい業務先で新規のダッシュボードを作成したときの話。

業務先の詳しいことは言えないので、扱っているデータの詳細も言えないのですが、売り上げと実施したイベントに参加したお客さんのデータを紐づけて、イベント実施前後の売り上げの変化や、イベントの参加不参加による売り上げの変化を可視化するダッシュボードを作成しました。
お客さんの数や製品数も多く、過去3年分見れるようにしたいとの要望だったのですが、いざ、データテーブルからデータを紐づけて抽出すると7000万件くらいのデータ数になりました。
私が経験した中で一番多い抽出データ数でした。
データソースを修正して、再度読み込みが完了するのに5~6時間かかりました。
また、シート上でのデザイン修正したり、計算フィールドを適用するのにもかなり時間がかかりました。

なぜ、こんなにも抽出件数が多いことになってしまったかというと、
売り上げテーブルと、実施したイベント情報のテーブルを紐づける中間テーブルのような存在がなかったためです。
いくつものテーブルを経由し、かなり力技で紐づけを行いました。この業務先に配属になって日が浅いこともあり、テーブル設計やテーブルのつながりなどを詳しく把握できていなかったので、かなり苦労しました。
また、売り上げデータとイベント情報を紐づけるということが新しい取り組みだったので、そこの情報を結びつける構造やデータ準備というのも不十分でした。
結果的にはなんとか複数のテーブルとカラムを経由して紐づいたのですが、データ量が多くなり、パフォーマンスの悪いダッシュボードが出来上がりました。

完成したダッシュボードには大変満足頂けたのですが、完成後の内部反省会で、今後は中間テーブルのようなものを準備したほうがいいねという話がでました。
多くの企業ではデータテーブルは基本的な情報を格納するものは揃っていると思うのですが、それをクロスして使えるようにというところまで考えて集計用のテーブルを作成しているところは思ったより多くないのかなと思いました。
自社にちゃんと開発やデータ分析をする部署が存在するのであれば、当たり前のことかもしれませんが、そうでない場合は、あるデータと別のあるデータを紐づけるようのテーブルを用意するという考えになかなか至らないのかもしれません。
または必要性を感じても開発コストなどがないや設計できる人材がいないなど、様々な理由はあるのかもしれません。

今回、我々の場合は、他の開発業務が一段落したら、今回のものも含めて、中間テーブルの作成をしましょうということになりました。
テーブル設計に携われるチャンスなので、これも自分のステップアップにつなげられればいいなと思います!

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