MakeoverMonday 2026 Week 19|米国国内人口移動をState×Countyの2軸で探索する

公開日: 2026-05-13
カテゴリ: MakeoverMonday
今週のお題
今週のMakeoverMondayのテーマは「US Population Migration(米国国内人口移動)」です。データセットには州(State)・郡(County)ごとの2020年時点の男女別人口と、純移入移出者数(net_male_migrants / net_female_migrants)が含まれており、アメリカ国内でどの地域に人が集まり、どこから離れていくのかをState・County両スケールで読み解けます。
州レベルでは移動率が -3.9% 〜 +11.4%、郡レベルでは -54.8% 〜 +48.1% と、粒度が細かくなるほど格差がはっきりと浮き上がります。
作成したダッシュボード
ダッシュボードのタイトルは US Internal Migration Explorer。3つのビューで構成しています。
- State Migration Rate(左上):州単位のコロプレスマップ。「Select STATE!」の案内に従い州をクリックすると、下のスキャタープロットが連動してハイライトされます。
- County Migration Rate(右上):郡単位のコロプレスマップ。州マップに比べてはるかに細かい濃淡が現れ、州内の偏りも視覚化されます。
- State Migration Rate by County Structure(下段):X軸に郡数・Y軸に移動率・バブルサイズに人口を割り当てたスキャタープロット。フロリダ・アイダホ・ネバダが高い移動率で右上に並び、イリノイ・ワイオミングは0%ラインを下回っています。テキサスは人口最大(約4,000万人)のバブルで右端に位置し、移動率はプラスを維持しています。
工夫した点・こだわり
State/County の2段階インタラクション
単一のダッシュボードでState・County両スケールを切り替えられるよう、パラメーター「p.State or Country」を軸にビューを設計しました。州マップをクリックすると State セット が更新され、郡マップとスキャタープロットが自動連動してフィルタリングされます。
ハワイを独立して扱う
米本土のマップに重ねるとスケールが崩れるため、iiF([state]="Hawaii",true,false) でハワイ判定フィールドを用意し、本土マップ・ハワイマップを別シートとして分けました。ゾーン可視性コントロール(ZoneVisibilityControl)を使い、選択状態に応じて表示/非表示を切り替えています。
カラースケールの一貫性
State マップと County マップでは移動率の絶対値レンジが異なりますが、どちらもオレンジ(流出)→ブルー(流入)のダイバージング配色を採用し、正負が直感的に分かるようにしました。
使ったTableauの技術・Tips
1. 移動率の計算(行レベル集計 → 集約計算)
Migration_rate =
sum([net_female_migrants] + [net_male_migrants])
/ sum([female_population_2020] + [male_population_2020])
分子は純移動者数(男女合計)、分母は2020年総人口。書式設定で p0.0% を指定することで、マップとスキャタープロットの双方で一貫したパーセント表示を実現しています。
2. Set Action による双方向インタラクション
州マップのクリックで「State セット」と「State セット 2」が更新され、郡マップ・スキャタープロット・ラベルが一括で連動します。Set Actionはフィルターアクションと異なり、セットに含まれていない値を「除外」ではなく「グレーアウト」として残すことができるため、全体文脈を保ちながら選択部分を強調できます。
3. LOD 計算でコンテキストラベルを生成
// c.label_state
IF {COUNTD([state])} = {COUNTD(IIF([State セット 2], [state], NULL))}
THEN NULL
ELSE IIF([State セット 2], [state], NULL)
END
全州が選択されている(=未選択)場合はNULLを返し、特定州が選択された場合のみラベルを表示します。これにより「選択した州の名前だけをマップ上に表示する」という動的ラベリングをFIXED LODなしで実現しています。
4. 郡名クリーニング
c.County = TRIM(REPLACE([county], "County", ""))
生データに含まれる “Los Angeles County” のような「County」サフィックスを除去し、ツールヒントやラベルを簡潔に保ちます。
5. ZoneVisibilityControl でハワイを条件表示
ダッシュボードゾーンにZoneVisibilityControlを設定し、f.selected hawaii(パラメーター3)の値に応じてハワイ専用マップの表示/非表示を切り替えています。動的ゾーン可視性はTableau 2022.3以降の機能で、シートを複数用意することなくひとつのダッシュボードで条件分岐を表現できます。
学び・振り返り
- State・County の2スケール比較は、一方だけでは見えない「州内の格差」を炙り出す強力な手法だと再確認できました。フロリダ全体の移動率はプラスですが、郡マップを見ると州内でも格差がある様子が読み取れます。
- Set Action + LOD の組み合わせは、フィルターに頼らない「コンテキストを保った強調」を実現するベストプラクティスです。今後も積極的に使っていきたいと思います。
- ハワイを別シートに分けるアプローチはビルドコストが増しますが、地図の歪みを防ぐ点で品質が格段に上がりました。スケールが極端に異なる地物を同一マップに収める場合の定石として覚えておきます。
—
Tableau Public プロフィール: https://public.tableau.com/app/profile/tamaball38175/vizzes
—
⚠️ 注記: この記事はAIを活用して生成されています。内容に誤りが含まれる可能性があります。技術的な詳細については公式ドキュメントも合わせてご確認ください。
