【アンケートデータ可視化】データ加工をやってみた~Alteryx編~

2023.07.15

7月も後半に突入しました。
梅雨が明けたら本格的に暑くなるので夏バテにはお気を付けください。

データアナリティクス事業本部のshoです。

BIチームでは、アンケートデータの可視化をテーマにブログリレーを行っています。

今回は、Alteryxを用いてアンケートデータの加工を行います。

使用するデータ

東京都の丸の内仲通りで、自動運転バス走行実証実験が実施されています。 実証実験の詳細に関してはこちらをご覧ください。

実証実験の結果がオープンデータとして公開されていますので、今回はその中から以下のデータを使用します。

アンケート結果(歩行者)データ例はこちらです。
赤枠内に質問が記載されており、質問ごとに1列を使用しています。

アンケート結果(試乗体験者)のデータ例はこちらです。
歩行者と同様に、質問ごとに1列を使用していますが、質問の数が異なります。

取得したい結果

下記のレイアウトになるように、データを加工していきます。

歩行者と試乗体験者で分かれている2ファイルを合わせた結果になるため、どちらのアンケートに回答した結果かが分かるように回答者IDなどの項目を追加しています。
(★は元々のデータには列としては存在しない項目です)

  • 回答者フラグ(★):歩行者 or 試乗体験者のどちらか
  • 会員No
  • 回答ID:回答者が増える度に採番されるID。歩行者、試乗体験者それぞれで採番される
  • 回答者ID(★):回答ID&回答者フラグを組み合わせた、回答者を一意に特定するもの
  • 年齢
  • 性別
  • 職業
  • 登録日
  • 質問(★)
  • 回答(★)

Alteryx Designerで行っていくこと

Alteryx Designerの完成したワークフローがこちらです。
Alteryx Designerでは、様々な処理が可能な「ツール」があり、そのツール同士をつなぐことで、フローを作成していくことができます。
このフローでは以下のことを試乗体験者と歩行者のファイルに行っています。

  1. CSVファイルの取込
  2. 回答者を特定できるように、新たなデータ項目「回答者フラグ」を追加
  3. 不要な項目を除外し、質問・回答項目を縦持ちに変換
  4. 複数回答可能な項目を回答単位で列に分割
  5. データ項目名称を統一
  6. 試乗体験者と歩行者のデータを一つにまとめる
  7. 質問への回答がNULL(空白)のデータを除外
  8. 属性に関する回答がNULL(空白)の場合、'未回答'と挿入
  9. 回答者を特定するための項目として「回答者ID」を追加
  10. データ項目名称を変更
  11. ファイルの出力

CSVファイルの取込

データ入力ツールを使用し、対象のCSVファイルを指定します。

ファイルを選択、もしくは対象のファイルをドラッグアンドドロップすることで指定が可能です。Alteryx DesignerではCSVファイルだけではなく、Excelファイルや主要なデータベースをデータソースとして使用することも可能となっています。
対象のファイルが指定され、プレビュー画面にて問題なくデータが取り込まれていることを確認します。
これでデータの取り込みは完了です。

回答者を特定できるように、新たなデータ項目「回答者フラグ」を追加

今回のアンケートデータでは、「試乗体験者」と「歩行者」でファイルが異なりますが、最終的にはデータを1つにまとめる予定のため、回答者がどちらかなのか判断できるように、フォーミュラツールを使用し、新たなデータ項目を「回答者フラグ」を追加します。

「回答者フラグ」という新しい項目に、試乗体験者のファイルの場合は「試乗体験者」という値を挿入します。

同様に「回答者フラグ」という項目を、歩行者のファイルのデータにも追加し、「歩行者」という値を挿入します。

これで回答者が試乗体験者なのか、歩行者なのかが判別できるようになりました。

不要な項目を除外し、質問・回答項目を縦持ちに変換

アンケートの質問がヘッダーとなり、その値が回答となる構成となっている(データが横持ちになっている)ため、 転置ツールを利用して質問列と回答列の2列にデータを整形します。

以下の列は別の列として残しておき、今回の分析では使用しない「ユーザーエージェント」「登録サイト」「キャリア」は処理の対象から除外します。

  • 会員No
  • 回答ID
  • 回答者フラグ
  • 年齢
  • 性別
  • 職業
  • 登録日

これで質問と回答を列で確認できるようになりました。

複数回答可能な項目を回答単位で列に分割

今回のアンケートデータでは複数回答可な質問項目があり、そのデータが1列に「;」でまとまっている状況になっています。そのようなデータがある場合、そのデータを行に分割する必要があり、そこで使用するのが 列分割ツールになります。

列分割ツールにて以下のように設定します。

  • 分割する列:Value
  • 区切り文字:「;」(セミコロン)
  • 行に分割する

上記のように設定することで元々質問に対し、複数の回答が1カラムに含まれていたデータが、行に分割されていることが確認できました。

データ項目名称を統一

試乗体験者と歩行者のアンケートデータを確認したところ、質問項目がそれぞれ異なることから「年齢」「性別」「職業」に振られている質問番号が異なる状況となっていました。

そのため、セレクトツール使用して、データ項目名称を変更します。
【試乗体験者】

【歩行者】

試乗体験者と歩行者のデータを一つにまとめる

これまでの処理で、試乗体験者と歩行体験者のデータ項目を共通にすることができたので、2つのデータをユニオンツールを使用して統合します。

質問への回答がNULL(空白)のデータを除外

回答した内容にあわせて、別の質問が用意されているケースがあり、その場合不要となる行(回答がないレコード)が存在します。そのデータを除外するためフィルターツールを使用します。

属性に関する回答がNULL(空白)の場合、'未回答'と挿入

属性「年齢」「性別」「職業」が未回答の場合、データがNULL(空白)となっています。 そのため複数フィールドフォーミュラツールを使用して、NULLの場合、「未回答」という値を挿入します。 複数フィールドフォーミュラツールを使用すると、同じロジック(数式)を複数のデータ項目に適用したい場合に[_CurrentField_]という変数で実現できるためとても便利です。

回答者を特定するための項目として「回答者ID」を追加

回答IDを確認したところ、同じIDが「試乗体験者」と「歩行者」で使用されていました。回答者数をアンケートデータで可視化するにあたっては、各自を個人として判断する必要があるため、フォーミュラツールを使用して新たなデータ項目を追加します。 今回は「回答者ID」というデータ項目を追加し、そこに「回答者フラグ」と「回答ID」を結合します。

データ項目名称を変更とデータ項目の並び替え

最後に、質問項目が「Name」と回答項目が「Value」となっているため、セレクトツールを使用して。名称を変更し、データ項目の並びも変更します。

ファイルの出力

あとはデータ出力ツールを使用して、ファイルの拡張子を指定して、データを出力するだけです。
AlteryxではCSVファイルへの出力も可能ですが、それ以外にTableauで取り込むのに適しているhyperやデータベースへの書き込みも可能となっています。

おまけ

ファイル名から必要な情報を取得する

今回は1回分のデータのみを加工しましたが、今後も同様のアンケートを実施し、結果を追っていく場合、実施時期などを判断できる項目が別途必要となってきます。
「登録日」という項目が存在しますが、この実証実験が2021年3月8日から14日までの7日間に渡って実施されおり、回答日のようなデータとなっているため、実施時期として使用しているには適していませんでした。
そこで改めてファイル名を確認したところ、以下のようになっていたため、ファイル名の最後の8文字を取得することで、「実施時期」として使用できそうです。

  • auto_driving_bus_tried_20210314.csv
  • auto_driving_bus_never_20210314.csv

そのため、入力ツールでファイル名も取り込み、正規表現ツールもしくは列分割ツールを使用することでファイル名から必要な情報を取り出してみました。

上記のようにファイル名も出力した場合、以下のような結果になります。

そこから今回は正規表現ツールを使って、ファイル名から数字8文字を取得します。

列分割ツールを使用しても正規表現ツールと同じことができますが、これまでの処理でご紹介したので今回は別のツールでも実現できることも紹介してみました。

これで今後同じ実証実験をした場合でも前回比較などをする際に、この項目が使用できそうです。

まとめ

今回は、アンケートデータを可視化しやすくするためのデータ加工を、Alteryxを使用して紹介してみました。
いかがだったでしょうか。
データ分析において、アクションを取るための可視化をすることが最終的なゴールですが、そのためには可視化の前の加工も重要な役割を果たしています。
今後アンケートデータを可視化するための前準備としてのお役に立てたら幸いです。
次週以降、今回のメインテーマである可視化を複数のBIツールを使用してお届けします。
皆様お楽しみに!