Skip to main content

Googleフォームを利用して、アンケートを実施しました。

複数選択の項目について、カンマ区切りの以下のようなデータをグラフ化したいです。良い方法をご存じの方がいましたら、ご教授お願いいたします。

【例】

Q,今週食べたものを選択ください(複数選択可)

A.太郎さん→リンゴ,レモン,バナナ

 次郎さん→リンゴ,​バナナ

 三郎さん→バナナ​

作りたいグラフ↓

リンゴ:2

レモン:1

バナナ:3​

4 件の回答
  1. 2021年6月15日 1:40

    要素の数(この例だと回答者が記入する食物の種類の数)が定まっているか少ない​場合は、先に挙げられている通りCONTAINS関数を使用するのが早いケースもあります。ただ、この方法では1要素に対して1つの計算フィールドができてしまうため、たくさんの計算フィールドを作らなければならない、また全体に対する割合(例えば全回答者の中でリンゴ, バナナ等のそれぞれの要素を答えた人の割合)などの計算が面倒という不便なところもあります。

    別の方法としてはTableauPrepなどのデータプレパレーション/ETLツールを使って​事前に整形しておくことが考えられます。TableauPrepを使って実行するとしたら、

    1) 回答をカンマ区切りで分割

    要素の数(この例だと回答者が記入する食物の種類の数)が定まっているか少ない​場合は、先に挙げられている通りCONTAINS関数を使用するのが早いケースもあります。ただ、この方法では1要素に対して1つの計算フィールドができてしまうため、たくさんの計算フィールドを作らなければならない、また全体に対する割合(例えば全回答者の中でリンゴ, バナナ等のそれぞれの要素を答えた人の割合)などの計算が面倒という不キャプチャキャプチャ

    2) 分割済みフィールドでピボット

    キャプチャ

    3) 不要なデータ(分割済みデータが空白になっているもの)を削除

    キャプチャ

    4) 出力したあとTableauDesktopに接続して可視化

    キャプチャ

    といった感じになります。ただこの方法にも「事前にデータソースを処理しなければならず、元のスプレッドシートからライブ接続でリアルタイム反映できない」という欠点があります。

    またこれとは別に、Googleフォームを​お使いなのであれば、Submitトリガーを設置して回答が連動記録されるスプレッドシートとは別のシートで上記の処理を自動実行し、TableauDesktopはそのシートにライブ接続するという方法もあります。このやり方だとほぼリアルタイム反映できるので、上記の2つの方法の欠点を克服できます。が、GoogleAppsScriptを書くことができるという前提条件があります。

    ​​

    ご自身が抱える要件に応じてどのような方法を取るか、あるいはメンテナンス性をどのように確保していくかを考えてみてください。

0/9000