![見出し画像](https://assets.st-note.com/production/uploads/images/120155808/rectangle_large_type_2_377447d2fc0e170576bb1f42eb93ab87.png?width=1200)
Tableau 思ったような平均値が出ない??
・グラフ上にアナリティクスで平均値を載せたい
![](https://assets.st-note.com/img/1698503219655-VxbD4ontrD.png?width=1200)
1. やりたいこと
市別の人口密度とともに県全体の人口密度を表示したい。
2. 表計算の落とし穴
tableauでグラフを作ってアナリティクスで平均値を入れる
簡単にできるじゃん!と考えてやってみると
![](https://assets.st-note.com/img/1698504332221-HWQ0wAvV7D.png?width=1200)
![](https://assets.st-note.com/img/1698504295305-eiALLQbJFL.png?width=1200)
![](https://assets.st-note.com/img/1698504495473-5jxTeXWXpU.png?width=1200)
人口密度の平均は600人/k㎡と出てきました。
が、琵琶湖あるのにそんなに人いるか?なんかおかしくないか??とふと思いweb検索をかけると
350人/k㎡ という数値が出てきました。計算が間違っていますね
3.原因は何か
考えてみれば単純です。
今回使用した"人口密度"は単純に加減できる数値ではないからです
簡単のために単純化したモデルを考えてみます。
(A県はX市とY市のみで構成されているとする)
A県 人口1000人 面積5k㎡ →人口密度 200人/k㎡
X市 人口300人 面積3k㎡ →人口密度 100人/k㎡
Y市 人口700人 面積2k㎡ →人口密度 350人/k㎡
X市とY市の面積は足せばA県ですが、人口密度を足してもA県にはならないことがわかります。これでは平均をとっても変な数値が出てきて当然です。
4. 解決策
以上を踏まえて原因は以下であると考えられます。
・市単位で集計されたものの集計をしてしまっている。ということです。
であれば「市」という集計単位を除外して仕舞えば良いだけです
手順1
TableauにあるLOD(Level Of Detail)計算を用いて新たな計算フィールドを作成します
除外したいのでそのまま英訳してあるもの
・EXCLUDE
を使用します
![](https://assets.st-note.com/img/1698506442113-qQ4UAiNYLv.png?width=1200)
記法は
{exclude [集計から取り除きたい項目] : 集計( [項目] ) }
※集計はMAX(),AVG()等々の事。今回は市を除いた合計を使用して計算したいのでSUM()を使用
手順2
マーク→詳細欄に作った計算フィールドをドラック&ドロップし、属性にしておく
![](https://assets.st-note.com/img/1698506859757-fQMMNg7B9y.png?width=1200)
手順3
リファレンスライン 値の設定を開き
値をクリックすると先ほどの計算フィールドが存在するので選択する
![](https://assets.st-note.com/img/1698507013825-zrYBwciKJq.png?width=1200)
値が変わりました。平均が350となり正しく計算できていそうです
![](https://assets.st-note.com/img/1698507107352-Tc09VeRPVJ.png?width=1200)
あとがき
tableau では グラフ上にある項目毎に自動集計してくれ便利ですが気をつけて使う必要がありますね。
この記事が気に入ったらサポートをしてみませんか?