🎮

Tableau Public実践 BIツールデータ活用100本ノック 第1章②

2024/04/21に公開

この記事は、Tableau(タブロー) Public実践 BIツールデータ活用 100本ノックを読んで学んだことをまとめています。Knockタイトルや内容が本とは異なっている部分もありますので、あらかじめご了承ください。

この記事をきっかけにもっと勉強したいと思った方は、是非本をお手に取って読まれてください。

【リンク紹介】
【一覧】Tableau Public実践 BIツールデータ活用100本ノック
これまで書いたシリーズ記事一覧

Knock11:マスターデータを横に結合する(リレーション)

道路種別の名称をもつマスタデータを結合して、名称を表示できるようにします。
まず、「データソース」シートを選択して、接続の「追加」→「Microsoft Excel」を選択して「箇所別基本表関連マスタ.xlsx」を選択します。
接続の欄に「箇所別基本表関連マスタ」が表示されるので、それをクリックするとその下にファイルの中のシートが表示されます。「道路種別マスタ」をデータソースの選択とデータのつながりのところにドラッグ&ドロップしましょう。
この時点ではまだ結合は完成していません。SQLの結合についての知識がある方はピンとくるかもしれませんが、結合するためのキーを設定していないためです。

よって紐づけのキーを選択します。

結合ができたら、Knock10で使用していた「路線ごとの交通量(合計)」を再度複製し、複製したシートのデータペインから**「道路種別マスタ」のディメンションの「道路種別(道路種別マスタ)」を、マークカードにある「色」の枠にドラッグ&ドロップしてください**。
凡例が反映されたものに変わっていることが確認できると思います。※設定した色の編集は戻ってしまいます。

Knock12:複合グラフを作る

ここでは棒グラフと折れ線ブラフによる複合グラフを作成します。まずはKnock10で使用していた「路線ごとの交通量(合計)」を再度複製し、フィルターから「24時間自動車類交通量(上下合計)/合計(台)」を削除します。
次にグラフの行と列を入れ替えて、路線名フィルターを右クリックしてメニューから単一値(リスト)を選択します。値の設定方法はいくつかあるのでお好きな方法で構いません。
私は「さいたま川口線」を選んでいます。

次にデータペインからディメンションの「交通量観測地点地名/市郡句町村丁字目」を列にドラッグ&ドロップします。表示は「ビュー全体」にしています。

行にあるメジャーの「24時間自動車類交通量(上下合計)/合計(台)」をCtrlを押しながらマークカードにある「色」の枠にドラッグ&ドロップして、降順のアイコンをクリックしてください。

ここで、さらにメジャーの「昼間12時間ピーク比率(%)」を行に追加します。そしてマークカードでグラフの種類を折れ線グラフに変更します(「線」を選択)。
※このとき、折れ線グラフの色を棒グラフと別に指定するには、マークカードで「昼間12時間ピーク比率(%)」を選択したうえで、行の「昼間12時間ピーク比率(%)」をCtrlを押しながらマークカードにある「色」の枠にドラッグ&ドロップします。もしかしたら他にいい方法があるかもしれませんが、私はそうしました。

この時点で棒グラフと折れ線グラフは別々に表示されていると思いますが、ここで列の「昼間12時間ピーク比率(%)」の上にマウスポインタを移動し右クリックして、メニューから「二重軸」を選択すると、2つのグラフが重なって表示されます。※書籍ではこの選択後にグラフの表示が意図した形状でなくなるとの説明がされていますが、私は運よく?意図した形状で表示されてくれました。

もし2つのグラフのラベル表示をなくしたい方は、マークカードで「すべて」を選んだ状態で「ラベル」を選択して「マークラベルの表示」のチェックを外してください。

※個人的な好みの都合でグラフはグリーンを基調にすることが多いですが、特別な意味はないです。

Knock13:数値を日付型に変えて使う

シートの右側にある「新しいワークシート」を押して、新しいシートを作成します。データペインのメジャーにある「交通量観測年月日」の「#(シャープ)」部分をクリックして、「日付」を選択します。選択すると、「交通量観測年月日」が「ディメンション」に移動されます。この状態で行シェルフにドラッグ&ドロップします。

行シェルフの交通量観測年月日は「年(交通量年月日)」という表記に変わっていますが、その「年」という文字の左側に「+」が表示されています**※注意:めちゃくちゃ小さくてわかりづらいです**
これをクリックすると、四半期、月、日と段階的に展開されます。

他にも交通量観測年月日を右クリックで行シェルフにドラッグ&ドロップすると、メニューが表示され、さまざまな表示方法を選択することができます。

Knock14:データを縦に結合する(ユニオン)

「データソース」シートを選択して、接続の「kasyo11」をクリックします。すると接続の下に「kasyo11」と同じフォルダにおいてあるファイルが表示されるので、その中から「kasyo13.csv」をドラッグしてデータソースの選択とデータのつながりのところにある「kasyo11.csv」に重なるようにいどうし、「ユニオン」と表示されたところでドラッグします。※横にずれるとリレーションになるので注意してください。また真上に重ねると置き換えになります。
正しく結合できると、データソースの選択とデータのつながりの「kasho11.csv」の横に次のアイコンがひょうじされます。

それでは結合したそれぞれのファイルのレコード数を確認してみます。
新しいシートを作成し、データペインのディメンションの「Table Name」を行シェルフにドラッグ&ドロップし、メジャーの「kasyo11.csv(カウント)」をマークテーブルのテキストアイコンにドラッグ&ドロップします。

※このKnock14ではこの後総合問題が書かれていますが、この記事では省略します。これまでインプットした知識を総動員して取り組むことができ、非常にいい課題でした。
気になる方はTableau Public実践 BIツールデータ活用 100本ノックをご覧になってください。

Knock15:時系列データを追加する

レコードの構造を確認する

新しいデータソースを使っていきます。
データソースシートの、データソースの選択とデータの繋がりのタイトルの横にある次のアイコンをクリックして、「新しいデータソース」を選択してください。新しいデータソース画面で「テキストファイル」を選択し、「zkntrf11.csv」を選択します。

次に新しいシートを作成し、「zkntr11」を選択してデータペインを確認します。メジャーの一部をディメンションに変換し、「年月日」はKnock13の時と同様にして日付型にします。
以下の変換後のディメンションを参考に変換をしてください。

次に、データペインのメジャーにある「zkntrf11.csv(カウント)」をマークテーブルのテキストアイコンと色アイコンにそれぞれドラッグ&ドロップします。そしてディメンションに変換した「都道府県指定コード」、「交通量調査単位区間番号」、「路線番号」、「上り・下りの別」、「車種区分」の順に行シェルフに追加します。

時間帯別の台数の推移を確認する

次に時間帯別のメジャーを列に入れて台数の推移を確認します。
まず今回作成したシート(私は「シート11」です)を複製します。複製したシートで「交通量調査単位区間番号」をフィルターに入れて、フィルターで「10」のみチェックを入ます。ディメンションにある「メジャーネーム」を列シェルフとフィルターにドラッグ&ドロップし、フィルターで「時間帯別自動車類交通量(台/時)/10時台」、「時間帯別自動車類交通量(台/時)/11時台」、「時間帯別自動車類交通量(台/時)/12時台」のみチェックを入れます。
次に、マークテーブルの色アイコンとテキストアイコンに追加していた「zkntrf11.csv(カウント)」を削除して、データペインにある「メジャーバリュー」を行シェルフにドラッグ&ドロップします。
最後にグラフの種類を「自動」から「線」に変更して、ビュー表示を「幅を合わせる」に変更します。

※Knock15の最初の部分でインタープリターについての記述がありますが、この記事では省略します。
気になる方はTableau Public実践 BIツールデータ活用 100本ノックをご覧になってください。

Knock16:データをピボットする

時間帯データをピボットしていきます。
まず「データソースシート」を選択して、右下の「フィールドと値」にある表の中の「時間帯別自動車類~」から「時間帯別自動車類交通量~」までをまとめて選択します。選択したのち、右クリックして「ピボット」を選択すると、まとめて選択した項目が消えて「ピボットのフィールド名」と「ピボットのフィールド値」が追加されます。それぞれの項目の名前を「ピボットした時間帯」、「台数」とそれぞれ変更します。

Knock17:ピボット後のデータで可視化する

レコードの構造を確認する

新しいシートを追加してピボット後のデータを可視化していきます。
まずzkntrf11ファイルのデータペインのメジャーから「zkntrf11.csv(カウント)」を選択して、マークテーブルのテキストアイコンと色アイコン上でそれぞれドラッグ&ドロップします。次に「都道府県指定市コード」、「交通量調査単位区間番号」、「路線番号」、「上り、下りの別」、「車種区分」の順番で行シェルフにドラッグ&ドロップします。するとKnock15の時とは異なり、最後のレコード数が24になっていることが確認できます。

時間帯別の台数の推移を確認する

次に時間帯別のメジャーを列に入れて台数の推移を確認します。
まず今回作成したシート(私は「シート13」です)を複製します。「交通量調査単位区間番号」をフィルターに入れて「10」のみチェックを入れます。さらに「ピボットした時間帯」を列に追加します。次に、マークテーブルの色アイコンとテキストアイコンに追加していた「zkntrf11.csv(カウント)」を削除します。メジャーの「台数」を行シェルフにドラッグ&ドロップします。グラフの種類を「自動」から「線」に変更してビュー表示を「幅を合わせる」に変更します。

Tableauの簡易計算の累計でグラフを作成する

先ほど作成したシートを複製し、行シェルフにある「合計(台数)」を右クリックして「簡易表計算」から「累計」を選択し、グラフの種類を「棒」にします。

Tableauの簡易計算の差分でグラフを作成する

さらにシートを複製し、行シェルフにある「合計(台数)」を右クリックして「簡易表計算」から「差分」を選択します。

Knock18:データを分割して使う

Knock17で作成したグラフは、横軸方向に表示されている列名の表示が使いにくい状態です。

これを以下の操作を行って使いやすい表示に変えていきます。
まず「データソースシート」を選択して「フィールドと値」にある「ピボットした時間帯」で右クリックをします。そして「カスタム分割」を選択して「区切り文字の使用」の欄で「/」を入力し、「分割」のプルダウンで「最後」を選択します。すると「フィールドと値」の右端を確認すると、「ピボットした時間帯-分割済」という新しい列が作成されます。

後は、例えばKnock17で作成したいずれかのグラフで、列シェルフにある「ピボットした時間帯」を「ピボットした時間帯-分割済」に置き換えると、使いやすい表示に代わっていることが確認できます。

Knock19:計算式を作る

計算式を作ってさらに横軸の表示を変えていきます。
まずzkntrf11ファイルのデータペインのディメンションにある、先ほど作成した「ピボットした時間帯-分割済」の名称を「時間帯」に変更したうえで右クリックし、「作成」、「計算フィールド」の順に選びます。そして表示された計算フィールドに以下の通り記述します。※数字はすべて全角で入力してください。

コピペしたい方は以下を利用ください。

IF      [時間帯] IN ('4時台', '5時台', '6時台', '7時台')       THEN '早朝'
ELSEIF  [時間帯] IN ('8時台', '9時台', '10時台', '11時台')    THEN '午前'
ELSEIF  [時間帯] IN ('12時台', '13時台', '14時台', '15時台') THEN '午後'
ELSEIF  [時間帯] IN ('16時台', '17時台', '18時台', '19時台') THEN '夕方'
ELSEIF  [時間帯] IN ('20時台', '21時台', '22時台', '23時台') THEN '夜間'
ELSEIF  [時間帯] IN ('0時台', '1時台', '2時台', '3時台')       THEN '深夜'
END

あとはKnock18で作成したシートのいずれかを複製し、そのシートの列シェルフにある「時間帯」を、いま作成した「時間帯区分」に置き換えます。しかし、表示されたグラフはおそらく時間区分がバラバラに表示されていると思いますので、その時は列シェルフにある「時間帯区分」を右クリックして「並べ替え」を選択し並べ替え選択のプルダウンから「手動」を選択して調整をしてください。

Knock20:作ったものを整理して保存する

これまでに作成したグラフを整理して保存していきます。テキストではTableauを用いてグラフを作成する利点や、どのような視点でグラフを作成していくのが望ましいかについてなどが書かれていますが、この記事では割愛します。
気になる方はTableau Public実践 BIツールデータ活用 100本ノックをご覧になってください。

\bf{\textcolor{red}{記事が役に立った方は「いいね」を押していただけると、すごく喜びます \ 笑}}
ご協力のほどよろしくお願いします。

Discussion