今回は、複数選択肢でアンケート回答されてきた場合の処理について、解説します。

アンケートの設問として、複数回答を許可している場合がよくあると思います。
1列に複数の値が入ったままでは、それぞれの値に何人回答者がいるかをカウントしたくても、そのままではグラフ化できません。

目標としては、以下のようなグラフを得ます。

 英語:50人
 数学:35人
 国語:40人
 理科:24人
 社会:30人

複数回答が可能な設問アンケートのデータから、科目ごとの回答人数がわかるグラフを作成していきます。

1.データセット

その回答データは、以下のようなものですので、今回はこのデータを使用します。

【好きな科目】

回答者ID好きな科目好きな科目名
s5m5pkr1,2,3,4英語,数学,国語,理科
q1j9bkx2,4,5数学,理科,社会
c3y4eid1,3,4英語,国語,理科
u5r7qfo1,4,5英語,理科,社会
p2v2jdw1,5英語,社会
e2r3vvf4,5理科,社会

また、数値での科目と科目名の対応テーブルも作成します。

【科目マスター】

ordersubject
1英語
2数学
3国語
4理科
5社会

2.データの変換(Power Query)

まずは、ステップの全容です。

「ソース」~「変更された型」までは自動で挿入されているものです。
「削除された列」では、科目名は不要なので削除します。

次のステップ「区切り記号による列の分割」が今回の肝になります。
複数の値が入っている分割したい列(今回の場合は「好きな科目」)を選択し、メニューから「列の分割」>「区切り記号による分割」を選択します。

すると、以下のポップアップが出ます。
「詳細設定オプション」はデフォルトでは「列」が選択されているので、「行」に変更します。

「OK」を押すと、以下のようにデータが分割されます。
「好きな科目」でカンマで区切られた値の分だけ、行ができます。

3.凡例テーブルとリレーションシップの作成

このままグラフを作成すると、こうなります。

ほしいデータとしては、既にできていますね。
ただ、Y軸の値が1,2,3,4,5となっていて、どの科目なのかがパッと見てわかりません。

そこで使うのが、こちらの記事でも解説した凡例順の並び替えテクニックです。

データセットでインポートした2つ目のテーブル【科目マスター】を使用していきます。
まずは、リレーションシップの作成をします。

続いて、データビューに移り、順序の設定をします。

4.ビジュアルの編集

それでは、最後のステップです。
先ほど作成したグラフの「Y軸」を「好きな科目」から「subject」に変更します。

おわりに

いかがだったでしょうか?

アンケートにおいて、複数選択を許可する設問設定はあるあるですね。
そんなときは、「列を分割する」ことが肝となりますので、使ってみてください!