データを可視化するBIの代表格のTableau。
Excel、CSVのアンケートデータの可視化には少しコツがいる。
この記事ではMicrosoft FormsやGoogle FormsのアンケートデータをTableauで可視化する手順を紹介する。
Tableauによるアンケートデータ可視化の問題点
Microsoft Formsのアンケート結果はブラウザでも確認が可能。
年齢別や性別ごとといった形で切り口を変えたりして詳細分析するにはExcelやCSVファイルでの出力が必要。
出力したExcelファイル・CSVファイルをそのままTableau読み込ませた場合、SA(単式回答)なら問題ないが、MA(複数回答)の表示が正常にできない。
Microsoft Formsだと複式回答は”;(セミコロン)”区切りとなってしまうためだ。
そこでTableau Prep Builderを使ってデータを整える。
Tableau Prep BuilderはExcel・CSVのデータをTableauが正しく読み込めるように、データを整形するツールだ。
Tableau Prep Builderによるデータ整形手順
Tableau Prep Builderによるアンケートデータの整形手順は大きく2通りある。
- MA(複式回答)をまとめて整理
- MA(複式回答)ごとに整理して、SA(単式回答)のように扱う
ざっくり言うと「1.MA(複式回答)をまとめて整理」は操作が簡単、「2.MA(複式回答)ごとに整理して、SA(単式回答)のように扱う」は少し処理手順が複雑だが詳細な分析が可能。
2つのパターンそれぞれの手順を紹介する。
1.MA(複式回答)をまとめて整理
こちらの方法はシンプルで処理が早いが早く、以下の場合に適している。
- サンプルが多い(回答数が多い)
- MA(複式回答)の数が多い
- MA(複式回答)を切り口にして分析しない
操作手順
Tableau Prep BuilderでExcel・CSVファイルを読み込ませる。
不要なフィールドはチェックを外して取り込まないようにする。こうすることでデータ加工の処理スピードが早くなる。
クリーニングのステップを追加して、MA(複式回答)フィールドを選択、メニュー>値の分割>カスタム分割の順に選択する。
区切り文字に「;(セミコロン)」を入力して、分割対象を「すべて」を選択する。
セルの中身が分割されました。セミコロンで区切っているので、空欄もデータとして扱われてしまいますが、これはTableauでの操作で除外するので一旦はこのままで。
空欄だけのフィールドもできてしまうので、これはクリーニングの負担を軽減するために削除します。
分割するまえのフィールドも削除してしまってOK
これをMAの数だけ行う。
値の分割が終わったら、「ピボット」のステップを追加し、MAの項目だけを選択してピボットを行う。
ピボットによって横持ちのデータをTableauに適した縦持ちのデータに変換します。
ピボット結果のフィールド、質問文は「MA質問文」、回答は「MA回答」に名前を変更しておきます(これは任意の名前で問題ない)。
クリーニングのステップを追加して、同じMA質問文を選択してグループ化する。
すべてのMA質問文をグルーピングする。
これをしないと、「よく飲む飲料は?1」「よく飲む飲料は?2」のように質問文と回答が複数に分かれて分析ができなくなってしまう。
すべての質問文がグルーピングできたら、hyper形式で出力する。
これでデータ整形は完了だ。
Tableau Desktopで分析
出力されたファイルをTableauで開く。
MA質問文ディメンションをフィルターにドラッグ。分析したい質問文にチェックを入れる。
MA回答文ディメンションを行シェルフに、Extract(カウント)メジャーを列シェルフに入れると、MAの回答結果が見ることができる。
空欄回答もデータとして扱われているので、選択して除外する。
これで全て完了となる。
これでSA質問をフィルターすることで、例えば男女別、年齢別、年収別といったSAを切り口としたMA回答数を見ることができる。
ただし、MAを切り口とした分析はできない。MAを切り口とした分析をするには次の「2.MA(複式回答)ごとに整理して、SA(単式回答)のように扱う」の方法を取る必要がある。
2.MA(複式回答)ごとに整理して、SA(単式回答)のように扱う
MAを切り口にした分析を行うにはこの方法でデータを整理しなければならない。
ただし、この方法はサンプル数やMAの数が多いとPCが処理落ちしてしまう。経験則では2,000サンプルで4つのMAで処理落ちした。
操作手順
MAを分割するまでは同じ。前の方法ではMAをまとめてピボットしたが、この方法はMAごとにステップを追加してピボットを行う。
ピボットの結果の質問文フィールドは削除してもOK。少しでも処理を軽くしないと。
MAの数だけピボットのステップができることになる。
全てのMAをピボットしたらhyper形式で出力する。
出力したファイルをTableauで開く。
回答数を表示するためにはの計算フィールドを作成する。COUNTD式でIDの数を返す計算式を作成する。フィールド名は「回答数」とした。
MAだけでなく、SAの回答数もこの計算フィールドで表示できる。
MAの質問文ディメンションを行シェルフに、作成した「回答数」を列にドラッグ&ドロップすると回答数が表示される。
MAの場合は空欄もデータとして扱われてしまうので、これは削除してOK。
これで準備は完了。MAを切り口にした分析ができる。
Tableau Desktopで分析
例えば、「よく飲む飲料は?(MA)」に”コーヒー”と答えた人の好きなお菓子を調べたり、年齢層を調べたりといった形でMAを切り口にした分析が可能となる。
それを行うには、MAをフィルターにドラッグして、深堀りしたい回答にチェックを入れる。
あとは分析したい質問文と回答数をシェルフにドラッグ&ドロップすれば良い。
下の画像は、よく飲む飲料に”コーヒー”と答えた人の好きなお菓子を表示させてみたものだ。
以上がMicrosoft Forms、Google FormsのアンケートデータをTableauで可視化する手順だ。
Tableau Publicで操作
ダッシュボードを作り、Tableau Publicにパブリッシュしてみたので、操作して遊んでみて下さい。
ダッシュボードの作り込みはあまり得意ではないので、見た目的にはとてもシンプルです。
切り口を触ってみると選んだものでフィルタリングされるので、いろんな角度からの分析ができるようになっています。