このページで扱う主要キーワード(クリックで該当セクションへ):
「Tableau」 (Tableau (BI / 可視化ツール)) は、 SSDSE-B-2026 などの公的統計データを使った教材・分析で頻出するキーワードです。 本ページでは、 まず直感、 次に数式、 そして 47 都道府県の実値で確かめる、 という流れで体系的に整理します。 加えて、 ケーススタディ・FAQ・歴史的経緯・参考文献までを 1 ページに集約し、 用語の「地図」として使えるようにしました。
関連用語(前提・並列・発展)と関連グループ教材も末尾にまとめてあるので、 用語の地図として活用してください。
Tableau は元 Stanford 発の BI ツールで、 表データを「行(ディメンション)」「列(メジャー)」へドラッグするだけで集計・可視化を自動で行います。 マウス操作中心ですが、 内部は宣言的問い合わせ言語(VizQL)に変換され、 即時に SQL/Hyper エンジンへ伝わります。
典型的なワークフローは次の通り:
SSDSE のような 「都道府県 × 年度 × 指標」 という長い行データは Tableau ととても相性が良く、 「都道府県を Maps に、 年度をフィルタに、 人口を色/サイズに」 と置くだけで、 日本地図のヒートマップが数秒で完成します。
Tableau の中心は LOD(Level of Detail)計算です。 これは「どの粒度で集計するかを宣言的に書く」記法で、 SQL の GROUP BY に相当します。
{ FIXED [Prefecture] : SUM([Population]) }
どんなフィルタの内側でも、 都道府県ごとの合計を固定して計算する。
{ EXCLUDE [Year] : AVG([Population]) }
現在のシートの粒度から「年度」を除外して平均を取り直す。
シェア計算は集計の入れ子で次のように:
$$\text{シェア}_{p,t} = \frac{\text{SUM}(\text{Pop})_{p,t}}{\{\text{FIXED}\;[t]:\text{SUM}([\text{Pop}])\}}$$これは「ある年 $t$ の都道府県 $p$ のシェア」を計算する LOD 式です。
Tableau の世界観を 1 つの表に整理します。
| 概念 | 意味 | 例(SSDSE) |
|---|---|---|
| ディメンション | 分類軸。 文字列・カテゴリ・日付 | 都道府県、 年度、 地域コード |
| メジャー | 集計対象。 数値 | 総人口、 高齢者人口、 県内総生産 |
| シート | 1 つの可視化単位 | 地図ヒートマップ、 棒グラフ、 散布図 |
| ダッシュボード | 複数シートと操作部品の組合せ | 「都道府県プロファイル」 |
| パラメータ | ユーザ入力(ドロップダウン・スライダ) | 表示する年度を切替 |
| 抽出 (Extract / Hyper) | 列指向のローカル DB へ取り込んで高速化 | SSDSE 全期間を 1 ファイルに |
| 計算フィールド | 派生メジャーを式で定義 | 「高齢化率=65歳以上÷総人口」 |
| ストーリー | 連続するダッシュボードの紙芝居 | 「人口減少 10 年の物語」 |
SSDSE-B-2026 を Tableau に取り込み、 次のような 3 シート構成のダッシュボードを作るとします(実地で人気の構成)。
これらを 1 つのダッシュボードに並べ、 上部に「年度スライダ」と「地方区分フィルタ」を置けば、 1 枚で 地理・時間・関係性 の 3 視点から SSDSE を俯瞰できます。
実値の目安(2023年):
Tableau 単体は GUI で扱いますが、 Python と連携する道も標準で用意されています。
import pandas as pd
from pantab import frame_to_hyper
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='shift_jis')
df.columns = df.iloc[0]
df = df.iloc[1:].reset_index(drop=True)
df['総人口'] = df['総人口'].astype(int)
df['年度'] = df['年度'].astype(int)
frame_to_hyper(df, 'ssdse-b-2026.hyper', table='ssdse_b')
print('Tableau Hyper file written')
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='shift_jis')
df.columns = df.iloc[0]
df = df.iloc[1:].reset_index(drop=True)
df['総人口'] = df['総人口'].astype(int)
df['65歳以上人口'] = df['65歳以上人口'].astype(int)
df['高齢化率'] = df['65歳以上人口'] / df['総人口'] * 100
df.to_csv('processed/ssdse-b-clean.csv', index=False, encoding='utf-8-sig')
import tableauserverclient as TSC
auth = TSC.TableauAuth('user', 'PAT', site_id='ssdse')
server = TSC.Server('https://tableau.example.com', use_server_version=True)
with server.auth.sign_in(auth):
project_id = next(p.id for p in TSC.Pager(server.projects) if p.name=='SSDSE')
new_wb = TSC.WorkbookItem(project_id, name='SSDSE-B-Dashboard')
server.workbooks.publish(new_wb, 'ssdse_b.twbx',
mode=TSC.Server.PublishMode.Overwrite)
df['生産年齢人口比率'] = df['15〜64歳人口'].astype(int) / df['総人口'] * 100
df['年少人口比率'] = df['15歳未満人口'].astype(int) / df['総人口'] * 100
df['老年人口比率'] = df['65歳以上人口'].astype(int) / df['総人口'] * 100
df.to_parquet('processed/ssdse-b-derived.parquet')
print(df[['都道府県','生産年齢人口比率','老年人口比率']].head())
SSDSE-B-2026.csv を「テキストファイル」として接続これだけで「2023 年 47 都道府県人口ヒートマップ」が 1 分で完成します。
// 計算フィールド: シェア
SUM([総人口]) / SUM({FIXED [年度] : SUM([総人口])})
これを テキスト に置き、 数値書式を「割合・小数点 2 桁」にすると、 各都道府県のシェア (%) が表示されます。
1 枚に:① マップ、 ② 折れ線、 ③ 散布図、 ④ 上位 10 県の棒、 ⑤ 年度スライダ、 を配置。 マップで都道府県を選択すると、 ②③④ がフィルタ連動するように ダッシュボードアクション を設定。
注意:Tableau Public は完全公開のため、 個人情報・機密情報は載せないこと。
ステップ 1:データ接続
Tableau Desktop / Public を起動 → 接続 → テキストファイル → SSDSE-B-2026.csv を選択。 文字コードは Shift-JIS を指定。 最初の行(英文ヘッダ)はドラッグで除外。
ステップ 2:地理ロール設定
「都道府県」列を右クリック → 地理的役割 → 都道府県。 すぐにマップ表示可能になる。
ステップ 3:人口マップ作成
ステップ 4:年度推移シート
ステップ 5:ダッシュボード組み立て
ステップ 6:公開と共有
Tableau Public へ保存 → 共有 URL を取得 → ブログ/LMS に埋め込む。
SSDSE のような都道府県集計データを使い、 「人口減少マップ」「医療資源マップ」「教育格差マップ」 をダッシュボード化。 議会・自治体内部・市民公開、 と段階的に公開先を広げる。
売上・利益・在庫・顧客満足度・離職率、 を 1 枚に集約。 「先月との差」「予算比」「YoY」を一覧できる構成。 上司に説明する 5 分前に作る、 のではなく、 毎朝自動更新でメール配信。
Jupyter で matplotlib を叩く代わりに、 Tableau に放り込んで「列名をドラッグするだけ」で 100 通りのグラフを試す。 異常値・欠損・パターンの発見速度が桁違い。
カルテ起点の患者軌跡、 病院別の再入院率、 地域別の医療資源、 などを階層的に俯瞰。 個人情報の取り扱いに注意(RLS で部門別アクセス制限)。
顧客セグメント別の購買行動、 コホート分析、 アトリビューション分析、 を 1 ダッシュボード化。 「広告予算を増やすと売上はどう動くか」を即興で試せる。
大学の授業評価アンケート、 卒業後の進路追跡、 学生満足度の経年変化、 などを学内ダッシュボードで可視化。 SSDSE のような公開データと比較し、 自校の立ち位置を客観視。
配送センター別の発着件数、 ルート別の遅延率、 季節変動。 マップとカレンダーを併用するのが定番。
部門別離職率、 採用パイプライン、 給与公平性。 RLS で人事関係者のみアクセス、 経営層は集計のみ。
| ツール | 提供 | 強み | 弱み |
|---|---|---|---|
| Tableau | Salesforce | 美しい可視化、 LOD 計算 | 高価、 Mac/Win 両対応だが Linux なし |
| Power BI | Microsoft | Excel と地続き、 安価、 DAX | Mac 開発不可 |
| Looker Studio | 無料、 GA 統合 | 機能が薄い | |
| Qlik Sense | Qlik | 連想エンジン、 高速 | 独自言語の学習コスト |
| Metabase | OSS | 無料・自前ホスト | 機能が少ない |
| Superset | Apache | OSS・拡張性 | 運用コスト |
| Streamlit | OSS | Python アプリ化 | BI とは別物 |
| 用語 | 意味 |
|---|---|
| ワークシート | 1 枚のグラフ |
| ダッシュボード | 複数ワークシートの組み合わせ |
| ストーリー | ダッシュボードを並べたプレゼン |
| ディメンション | 分類軸。 文字列・日付 |
| メジャー | 集計対象。 数値 |
| LOD 計算 | Level of Detail。 集計粒度を明示 |
| Hyper | 列指向高速エンジン |
| 抽出 (Extract) | Hyper ファイル化したスナップショット |
| VizQL | Tableau 内部の宣言型可視化言語 |
| Tableau Public | 無償の公開版 |
| 地理ロール | 都道府県・市区町村など地理コードへの割当 |
| パラメータ | ユーザ入力。 スライダ・ドロップダウン |
| レシピ | コード |
|---|---|
| 計算フィールド:高齢化率 | [65歳以上人口] / [総人口] |
| LOD: FIXED | { FIXED [都道府県] : SUM([総人口]) } |
| LOD: EXCLUDE | { EXCLUDE [年度] : AVG([総人口]) } |
| 条件付き色分け | IF [高齢化率] > 0.35 THEN '高高齢化' ELSE '通常' END |
| 文字結合 | [都道府県] + '(' + STR(YEAR([年度])) + ')' |
| ランク | RANK(SUM([総人口]), 'desc') |
| 前年差 | ZN(SUM([総人口])) - LOOKUP(ZN(SUM([総人口])), -1) |
| 百分率 | SUM([総人口]) / SUM({FIXED [年度] : SUM([総人口])}) |
| 地理ロール設定 | 「都道府県」列を右クリック → 地理的役割 → 都道府県 |
| ダッシュボードアクション | ダッシュボード → アクション → フィルタアクションを追加 |
| パラメータ作成 | 「年度切替」 整数 / リスト / 範囲指定 |
| ストーリーポイント | ストーリー → 新規ストーリー → ダッシュボード追加 |
| Tableau Public 公開 | サーバ → Tableau Public → Workbook 保存 |
| 画像エクスポート | ワークシート → 表示画像コピー / 書き出し |
| Hyper 抽出作成 | データソース → 抽出 → 全データを Hyper に |
歴史と位置づけ:Tableau は 2003 年に Stanford 大学発のスピンオフとして創業(Pat Hanrahan、 Chris Stolte、 Christian Chabot)。 同大の VizQL(Visualization Query Language)研究が源流で、 「データに対して問いを投げると、 視覚化が自動的に返ってくる」という設計思想を持ちます。 2013 年 NYSE 上場、 2019 年 Salesforce が約 157 億ドルで買収。
製品系列:
競合との位置関係:Power BI(Microsoft)と並ぶ 2 大商用 BI。 Looker(Google 傘下)、 Qlik Sense、 Metabase、 Superset がそれに続きます。 学習教材・コミュニティの厚さでは Tableau が頭一つ抜けています。
Tableau をハブにした BI/可視化エコシステムの俯瞰:
┌── ストーリー ─ ダッシュボード ─ シート ──┐
│ │
│ Tableau │
│ (VizQL → SQL / Hyper エンジン) │
│ │
└── データ取り込み(接続 / Tableau Prep) ─┘
↑
CSV / Excel / SQL / BigQuery / Salesforce …
↑
(SSDSE-B-2026 もここに)