はじめに
本記事は、長崎県の産業構造を分析・可視化するシリーズの第3回(最終回)です。 これまでの記事で、データの取得から加工までを行ってきました。まだご覧になっていない方は、ぜひ第1回・第2回から合わせてご覧ください。
- 第1回 Pythonによるe-Statからのデータ取得
- 第2回 取得したデータの加工
第2回では、Pythonを使って取得データの加工を行い、集約行の除外やデータ型の統一を行いました。これにより、Tableau 側での複雑な除外フィルタリングや計算式を使わずに、ドラッグ&ドロップだけで正しい集計ができる状態になりました。
そこで最終回となる今回は、この整形済みデータと、産業分類を定義した「産業マスタ」を結合し、長崎県の産業構造を深掘りするためのインタラクティブなダッシュボードを作成します。
Pythonで整えたデータがあることで、Tableauでの作業がいかにスムーズになるかを実感していきましょう。
1. データソースの準備
Tableau Desktopを起動し、前回作成した各産業の就業人数.csvと産業マスタ.csv(第1次〜第3次産業がどの産業に含まれるか)を準備します。
利用データについて
本記事で使用するデータは、第1回・第2回を通して以下の政府統計データ(e-Stat)より取得・加工したものです。
出典:国勢調査 令和2年国勢調査 就業状態等基本集計
表番号:労働力状態・産業・職業・従業上の地位 6-3-1(男女,年齢(5歳階級),産業(大分類)別就業者数)
statsDataId:0003450705
取得日:2025/10/27
それでは、実際にデータを読み込んでいきましょう。今回は2つのCSVファイルを読み込み、結合して使用します。
-
各産業の就業人数.csvを読み込みます。 - 画面中央に表示された「各産業の就業人数.csv」のボックスをダブルクリックします。
- 左側のファイル一覧から
産業マスタ.csvをキャンバスにドラッグ&ドロップします。 - 結合設定が表示されます。以下の通りに設定します。
- 結合の種類:「左(左外部結合)」
- 結合句:「産業」
これにより、就業者データの各行に、対応する産業マスタの情報(第1次〜第3次産業など)が付与されます。
2. ダッシュボード用シートの作成
ダッシュボードを作成するためには、まず異なる切り口を持ったいくつかの「ワークシート」を作成し、それらを組み合わせる必要があります。 今回は、以下の3つの視点でシートを作成し、最終的に1つの画面で分析できるように構成します。
-
全体構成を見る(円グラフ)
-
詳細な順位を見る(棒グラフ)
-
年齢構成の傾向を見る(ヒートマップ)
① 産業大分類構成比(円グラフ)
まず、県内の産業全体を俯瞰するために、第1次〜第3次産業がどのような割合で構成されているかを可視化する円グラフを作成します。
- マーク:円グラフ
-
色:
[大分類] -
角度:
[就業者数(人)] -
ラベル:
[大分類]、[就業者数(人)](合計に対する割合) -
フィルター:
[都道府県名]を「長崎県」に設定
作成したら、シート名を 「産業大分類構成比」 と設定します。
② 産業別ランキング(棒グラフ)
次に、大分類の中身を掘り下げます。具体的にどの産業の就業者数が多いのかをランキング形式で確認するための棒グラフを作成します。
-
行:
[産業] -
列:
[就業者数(人)](降順ソート) -
色:
[大分類] -
フィルター:
[都道府県名]を「長崎県」に設定
色に大分類を入れることで、「上位に来ているこの産業は第3次産業だな」と直感的に把握できます。
作成したら、シート名を 「産業別ランキング」 と設定します。
③ 産業・年齢階層別ヒートマップ
最後に各産業において「どの年代が主力なのか」を可視化します。 ヒートマップ(ハイライト表)にすることで、数値の羅列では気づきにくい「高齢化が進む産業」や「若手が多い産業」の傾向を一目で把握できます。
-
行:
[産業] -
列:
[年齢階層] - マーク:四角
-
色・ラベル:
[就業者数(人)]- ※さらに色に入れたピルを右クリックし、「簡易表計算」>「合計に対する割合」>「次を使用して計算:表(横)」に設定すると、産業ごとの年齢構成比が見やすくなります。
-
フィルター:
[都道府県名]を「長崎県」に設定
作成したら、シート名を 「年齢別ヒートマップ」 と設定します。
3. ダッシュボードの構築
作成した3つのシートを1つの画面に統合します。
3-1. レイアウトの配置
新しいダッシュボードを作成し、各シートを配置します。
- 左上に 「産業大分類構成比」
- 右側に 「産業別ランキング」
- 下部に 「年齢別ヒートマップ」
- タイトルとして「長崎県 産業構造分析」を配置
3-2. アクションの設定
ダッシュボード上のグラフ同士を連携させ、分析を深められるように設定を行います。 ここでは、円グラフ(大分類)をクリックすると、ランキングとヒートマップがその分類に連動して絞り込まれる「フィルターアクション」を設定します。
これを設定することで、全体を見て気になった部分をクリック→その詳細データにドリルダウンするという、探索的な分析が可能になります。
-
設定するアクション名:
円グラフ連動フィルター - ソースシート: 「産業大分類構成比」
- ターゲットシート: 「産業別ランキング」、「年齢別ヒートマップ」
- アクションの実行対象: 選択
- 選択を解除した結果: すべての値を表示
- フィルター:すべての項目
これでダッシュボードの完成です。
例えば円グラフの「第1次産業」をクリックすると、ランキングには農業・漁業などが表示され、ヒートマップもそれらの産業に従事する人々の年齢分布へと瞬時に切り替わります。
4. 完成したダッシュボード
作成したダッシュボードをTableau Publicに公開しています。以下リンクから実際に操作して、フィルターアクションによる動きを確認してみてください。
長崎県 産業構造分析ダッシュボードサンプル - Tableau Public
今回作成したダッシュボードは、長崎県内のデータに閉じた分析でしたが、これをベースに、さらに「全国データとの比較」や「産業の特化度」という視点を加えた発展版のダッシュボードも作成しました。
こちらもTableau Publicで公開しています。
長崎県の産業構造と競争力の深堀 - Tableau Public
この発展版では、主に以下の視点を追加しています。
-
産業競争力マップ(上段):
横軸に「県内の産業構成比」、縦軸に「特化係数(全国平均と比較した特化度合い)」をとった散布図です。これにより、長崎県においてシェアが高く、かつ全国的に見ても強みとなっている産業がどこにあるかをマトリクスで分析できます。 -
全国都道府県ランキング(左下):
各産業において、長崎県が全国47都道府県の中でどの位置にいるのかをランキング形式で可視化しました。 -
詳細な年齢構成分析(右下):
本記事で作成したヒートマップを利用しています。
ぜひ、こちらのVizも実際に触ってみてください。
まとめ(全3回の振り返り)
本シリーズでは全3回にわたり、データの取得から可視化までのフローを解説しました。 最後に、一連の取り組みを通じた振り返りをまとめます。
第1回のWebAPIを使ったデータ取得に関して
私自身、学生の時に初めてWebAPIを利用した際は、利用するイメージが湧かず手探りの状態でした。当時はChatGPTなどが普及し始めた時期でしたが、コーディングの精度が今ほど高くなく、ネットの記事を参考に何とか実装することができました。
WebAPIは最初こそハードルが高く感じられますが、習得すれば様々な場所からデータを収集でき、データ活用の幅が大きく広がります。
第2回のデータ加工 ⇒ 第3回のダッシュボード作成に関して
データの加工に関しては、Pythonコードを書かずとも、現在はTableau PrepなどのGUIツールを使用することで容易に実装・代替が可能です。
しかし、今回のようにPythonを使って「データ取得から加工までを一連の流れとして実装できる」ことや、「Windowsのタスクスケジューラ等で自動化しやすい」点は非常に大きなメリットです。特に、Tableau Prepのフローを自動実行するには、有償アドオンである「Tableau Prep Conductor」が必要となりますが、Pythonであればライセンスコストをかけずに自動化の仕組みを構築できるという利点があります。
ツールは何であれ、最も重要なことは利用するデータを使いやすい形に加工することです。 私自身、Tableauを社内に展開する中で、ダッシュボード作成におけるトラブルの多くは「データの持ち方」に起因していると感じています。データの持ち方が悪いと、Tableau側で複雑な計算処理が必要になり、動作パフォーマンスの低下を招きます。
ダッシュボードを作成する際には、必要なデータを洗い出し、事前に適切な形へ加工しておくことで、可視化の作業が驚くほどスムーズになります。
この記事が皆さんのデータ活用のヒントになれば幸いです。
最後までお付き合いいただきありがとうございました。





