見出し画像

Tableau Desktop【メジャーを使用した積み上げ棒グラフ】



メジャーを使用した積み上げ棒グラフの作り方

データ分析で何かグラフを作ろうと考えるときに一番最初に考えるのが棒グラフ(なはず)。

私も、Tableauで分析を行う際もそれは例外ではありませんが、「ただの棒グラフはすぐ作れるけど、メジャーを積み上げた棒グラフが作りたい」と思うことがあり、意外にもやり方を紹介しているサイトが少なかったので、私が実際に行っているメジャーを使用した「積み上げ棒グラフ」「100%割合積み上げ棒グラフ」の作成方法を紹介します。

作成にあたり、今回はe-Statで公開されている「医療施設調査 / 令和2年医療施設(静態・動態)調査 確定数 都道府県編」というオープンデータを使用していきます。
使用するTableau Desktopのバージョンは2023.1です。


1. データの前準備

オープンデータを使用するにあたり、そのままではうまく取り込めなかったので、取り込んでグラフを作る準備を説明したいと思います。

まずはTableauを開いて、最初に伝えたオープンデータソースサイトからダウンロードしたcsvをドラッグアンドドロップします。そうすると下記のような画面になるかと思います。

見てわかる通り、フィールド名が「F4」とかになっていたり、あとはよくわからない「NULL」の表記が多いと思います。
これは元データをExcel等で開くとわかりますが、

このように、分析するには少し親切ではない書き方になっているためです。
(データを使用させていただいている身ですが…)

しかしTableauには便利が機能があるため、ある程度までは勝手に直してくれます。
その機能は「データ インタープリターの使用」です。
この機能を簡単に説明すると、csvやxlsxなどのデータの中身をTableauが見て「こういう感じでデータを使いたいんでしょ?」と直してくれる機能です。
この以下の画面にある黄色い線が引かれている部分がそれにあたって、クリックすると、

データにあった「NULL」という部分が消えて、きれいなデータになりました。「F7」とか書いてあったフィールド名もTableauが自動的に「精神病床」と変えてくれました。
ただし、「F4」や「F5」などはそのまま残っちゃったり、3番目のフィールド名が「令和2(2020)年10月1日」となっていたりとするのでそこらへんは自分で名称を変えてあげる必要があります。

ちなみに今回のように上手に変換してくれる場合ならいいですが、まったく変換できなかったりする場合がある(Tableauは悪くない、データの構造が悪い!)ので注意ですが、知っておくと非常に便利な機能なので覚えておいてください。

今回フィールド名も元csvの記載に合わせて、最終的な形はこうなりました。
また、csvの(再掲)という部分は今回使用しないので非表示にしました。(Tableauでいう変更前のフィールド名が「F12」より右)

以上で、データの前準備は完了です。
次から実際にグラフを作っていきます。


2. 積み上げ棒グラフ

まずは単純にメジャーを用いた積み上げ棒グラフの作成です。
今回やりたいのは「都道府県ごとの病床種別ごと病床数」です。

その前に、「都道府県」と命名したディメンションは、都道府県以外にも「市」や「全国」などが含まれているので、それらを表示しないようにしてください。
やり方はいろいろあると思うのでここでは画面を用いた説明はしませんが、私は次のようにやりました。


  1. 「都道府県」を行シェルフに配置

  2. 「都道府県」をフィルターに配置し、ワイルドカードで「 」(全角空白)を入力し、適用

  3. ビューの中にある「全国」を右クリックし、「除外」を選択

  4. ビュー内で「ctrl + A」を押し(すべてを選択し)、その状態で「abc」と表示されている部分を右クリックし「セットの作成」を選択

  5. 要素が47個になっているのを確認し「OK」を選択


上記の手順で作成したセット(名前は「都道府県 セット」)をフィルターに置くことで、いつでも都道府県だけを表示することができます。

それでは作成に移ります。
まずは「一般病床」を行シェルフ、「都道府県」を列シェルフ、先ほど作成した「都道府県 セット」をフィルターにそれぞれ配置します。
以下のような画面になります。

次に、「感染症病床」「療養病床」「精神病床」「結核病床」をctrlを押しながら複数選択し、ビュー内の縦軸の数値の部分にドラッグしてください。
よく間違えやすいですが、グラフのある位置ではなく、縦軸の数値が書いてある部分です。
数値の部分に持っていくと以下の画面のようになるので、そこに配置します。

正しく配置ができたら以下の画面の通りになります。

そして、次に列シェルフに置かれた「メジャーネーム」を色に持っていくと積み上げ棒グラフの完成です。

並べ替えてみると、以下の画面のようになります。
東京が一番多くて、徳島が一番少ないみたいですね。

続いて、「100%割合積み上げ棒グラフ」の作成となります。


3. 100%割合積み上げ棒グラフ

積み上げ棒グラフの作成は完了しましたので、次は「各都道県ごとに病床種別がどのような割合になっているのか」を見てみます。

ディメンションの場合は簡単に作れる100%割合積み上げ棒グラフですが、
メジャーの積み上げの場合は、計算フィールドで自分で割合を作る必要があります。

といってもやることは単純で、以下のような手順で作っていきます。


  1. 積み上げたいメジャーをすべて足し合わせた計算フィールドを作成

  2. それぞれのメジャーを1.で作成した計算フィールドで割る


画面を用いてそれぞれ見ていきます。

1. 積み上げたいメジャーをすべて足し合わせた計算フィールドを作成

計算フィールドに以下の計算式を入力してください。
フィールド名は「病床総数」とします。

SUM([一般病床]) + SUM([感染症病床]) + SUM([療養病床]) + SUM([精神病床]) + SUM([結核病床])

2. それぞれのメジャーを1.で作成した計算フィールドで割る

次に1. で作成した「病床総数」を構成するそれぞれのメジャーを「病床総数」で割っていきます。
まずは「一般病床」から行いますので、計算フィールドに以下の計算式を入力してください。
フィールド名は「一般病床_割合」とします。

SUM([一般病床]) / [病床総数]

「一般病床_割合」の作成ができたら、その他のメジャーも上記と同じ手順で作成してください。
該当するメジャーは「感染症病床」「療養病床」「精神病床」「結核病床」ですので、作成が終わると以下の画面のようになるかとおもいます。
(わかりやすくするため作成したフィールドを選択しています。)

グラフを作成する

ここまで来たら、もともとの積み上げ棒グラフを作成する手順と全く同じです。

「一般病床_割合」を行シェルフ、「都道府県」を列シェルフ、「都道府県 セット」をフィルターにそれぞれ配置します。
以下のような画面になります。

次に、「感染症病床_割合」「療養病床_割合」「精神病床_割合」「結核病床_割合」をctrlを押しながら複数選択し、ビュー内の縦軸の数値の部分にドラッグしてください。
グラフのある位置ではなく、縦軸の数値が書いてある部分です。
数値の部分に持っていくと以下の画面のようになるので、そこに配置します。

正しく配置ができたら以下の画面の通りになります。

そして、次に列シェルフに置かれた「メジャーネーム」を色に持っていくと100%割合積み上げ棒グラフの完成です。

軸やツールヒントが数値となってしまっているので、%表記に変えるとより分かりやすいと思います。

先ほど総数が一番少なかった徳島は「療養病床」がほぼ0%のようにも見えますね。

以上、グラフの作成方法でした。


場面によって使い分けれるようになろう

ここで紹介した「積み上げ棒グラフ」「100%割合積み上げ棒グラフ」はデータ分析をするにあたり非常に有用なグラフとなりますが、数の比較をしたいのに「100%割合積み上げ棒グラフ」を作成してしまっては得たいデータが得られないなんてこともありますので、場面によって使い分けられるようにしましょう。


今回作成したViz

今回作成したVizはTableau Public(以下URL)に公開していますので、必要があればダウンロードしてご活用ください。https://public.tableau.com/app/profile/ryuji.kuno/viz/variousbargraphs/sheet0

同じデータを用いて「バーインバーチャートの作り方」や「リファレンスラインを用いた目標管理」なども公開しているので興味があれば見てください。

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