Tableau Prep を使ったアンケートデータの整形

アンケートデータはあるのに、なぜか分析がうまくできないということはありませんか? そんな時は、データを分析に適した形に整形し、情報をわかりやすく表示できるように編集する必要があるかもしれません。このブログ記事では、Tableau Prep を使ったアンケートデータの整形方法を紹介します。

アンケートデータによくある課題

アンケートデータを扱うみなさん、このような形式でアンケート結果のデータの持ち方をしていることがありませんか?

[回答結果テーブル]

ID Q1 Q2 Q3 Q4-1 Q4-2 Q4-3 Q5-1 Q5-2 Q5-3
111 1 2 1 0 0 0 1 0 0
222 2 3 2 1 1 0 0 0 1

このデータでは、各行がユニークな (一意の) 回答者を表していて、横にその回答者が回答したデータが並んでいます。Q1、Q2、Q3 は、1 つの質問に対し回答が 1 つになる単一回答 (Single Answer、以下 SA) と呼ばれます。Q4 と Q5 は、1 つの質問に対する回答が複数になる場合があるので、複数回答 (Multiple Answer、以下 MA) と呼ばれています。

このテーブルだけですと、質問文と回答の内容が分かりません。そこで、以下のようなマスターテーブルを用意している場合もよく見ます。

[回答キーテーブル (マスターテーブル)]

質問コード 質問文 回答コード 回答文
Q1 性別 1 女性
Q1 性別 2 男性
Q2 職業 1 正社員
Q2 職業 2 契約社員・派遣社員
Q2 職業 3 パート
Q2 職業 4 学生
Q3 お住まいの地域 1 23区内
Q3 お住まいの地域 2 23区外
Q4-1 普段、渋谷でどこに行きますか。 1 家(自宅・知人宅)
Q4-2 普段、渋谷でどこに行きますか。 1 居酒屋
Q4-3 普段、渋谷でどこに行きますか。 1 バー
Q5-1 普段、渋谷に誰と行きますか。 1 配偶者
Q5-2 普段、渋谷に誰と行きますか。 1
Q5-3 普段、渋谷に誰と行きますか。 1

ここでアンケート結果を分析するために、このまま Tableau Desktop に読み込ませたいところですが、上記のデータ形式だと次のような課題が 2 つあると思います。

  1. MA の質問項目は 1 つの質問に対し、回答の種類だけ列があるので、Tableau Desktop で回答結果テーブルを読み込むと各列が個別のディメンションになってしまい、質問に対する回答の割合などを 1 つのシートにプロットできない
    回答の種類がディメンションに
     
  2. 回答結果テーブルには質問コードと回答コードしか入っていないので、質問と回答の内容が分かりにくい

上記の 2 つの課題を Tableau Prep を使って、データを見ながら直感的な解決方法を紹介いたします。

サンプルデータの紹介

今回のサンプルアンケートとして適当に作ったデータを使っていきます。SA と MA のタイプがそれぞれ 3 つあります。

SA:

  • 性別
  • 職業
  • お住まいの地域

MA:

  • 普段、渋谷でどこに行きますか。
  • 普段、渋谷に誰と行きますか。
  • 渋谷のイメージについて、あてはまるものをすべて教えてださい。

では、データを Tableau Prep接続して加工や結合した上で、Tableau Desktop で分析しやすい形にしましょう。

課題 1 の解決 - ピボット

課題 1 「MA (複数回答) の回答項目が個別のディメンションになってしまう」を解決するため、MA の項目をすべてピボットします。これにより、横持ちのデータを縦に変換でき、2 つの列にすべての MA をまとめられます。ピボットしたら、わかりやすいように列名も変更しておきましょう。

アンケートデータにはピボットが便利

ピボットって何だ? と思った方は、こちらをお読みください。

課題 2 の解決 - 編集と結合

「Q1」や「Q2」等、質問と回答をコードのまま表示していては分かりにくいので、ステップを追加して列名回答の値を直接編集して変更します (データ型の変更も忘れずに!)。

[性別] と [お住まいの地域] は、列名と回答の内容を両方編集し、[職業] は列名だけを変更します。[職業] の回答値ももちろん手動で入力できますが、数が多いので回答キーテーブルと結合して追加したいと思います。

列名を編集してわかりやすくする

MA の質問と回答のコードでは質問文や回答が分からない為、回答キーのデータセットをフローに追加し、MA のみのデータに絞ったうえで、回答結果のデータと結合します。

データセットを結合するとさらに便利に

次は、[職業] の回答をコードから変換するため、回答キーのテーブルをもう一度フローに追加し、データを Q2 (職業) のみに絞って、今までのフローと結合します。

データセットを結合して、コードを文章に変換

微調整と抽出の作成

もう 1 回、ステップを追加して、分析に必要がない列 (回答コード、質問コードなど) を除外し、Hyper の抽出としてデータを出力します。

抽出を出力する

このようなよくあるアンケートデータの課題をシンプルなフローで解決し、Tableau Desktop に整形されたデータを読み込むことでフレキシブルに MA 回答数を各 SA の切り口で見えるようになりました。

実際にデータ加工を行った Tableau Prep のパッケージファイルも参考にしてください。

アンケート結果を分析したダッシュボードは Tableau Public にアップしているので、実際に触ってみてください。

データを愛するみなさんも、ぜひトライしてみてください。