Qlik Trainingブログ

  • データ準備
2022.03.01

アンケートの複数回答を分析しよう!

アンケートの複数回答を分析しよう

アンケートなどで複数選択の項目があった場合、回答を集計すると1行に複数の選択肢が入ってくることがあります。

例)Aさんの回答…選択肢1
  Bさんの回答…選択肢1,選択肢2,選択肢5

このようなデータをQlik Senseに取り込み、分析する際のポイントをご紹介します。

目次

※本記事は「2022年02月時点のSaaS」で作成しています。

はじめに

以下のようなアンケート結果のデータがあります。

▼アンケート結果(元データ)

会員番号 回答
00001 A
00002 B,C
00003 B,C,D

このままロードすると、以下のような表示になり、Bなどが単体で選択できません。
この状態では正しく分析できません。

▼「回答」のフィルターパネル(元データの場合)

データを以下のような持ち方に変更できれば、正しく分析できるようになります。
こんな時に便利なのが、SubField関数です!

▼元データの持ち方を変更したデータ

会員番号 回答
00001 A
00002 B
00002 C
00003 B
00003 C
00003 D

▼「回答」のフィルターパネル(変更後のデータの場合)

SubField関数の基本


SubField関数は、特定の文字ごとに文字列を区切って取得できます。
なお、データマネージャーではSubField関数が使用できません。

<基本的な構文>
------------------------------------------
SubField(値,'区切り文字',取得位置)
------------------------------------------

今回のアンケート結果を例に、以下のように記述すると、B・C・Dの値を1つずつ取得できます。
▼例

数式 戻り値
SubField('B,C,D',',',1) B
SubField('B,C,D',',',2) C
SubField('B,C,D',',',3) D

特定の文字ごとに行を分ける方法(データロードエディタ)


3つ目の引数を省略すると、特定の文字ごとに行を分けることができます。
以下の形式は、データロードエディタでのみ使用できます。
------------------------------------------
SubField(値,'区切り文字')
------------------------------------------

スクリプトを記述して、結果を見てみましょう。
--------------------------------------------------------------------
LOAD
会員番号,
SubField(回答,',') as 回答
FROM [lib://DataFiles/アンケート.xlsx]
(ooxml, embedded labels, table is Sheet1);
--------------------------------------------------------------------

▼ロード結果

会員番号 回答
00001 A
00002 B
00002 C
00003 B
00003 C
00003 D

▼「回答」のフィルターパネル

データの持ち方が変わり、正しく分析できる状態になりました。
各値が単体で選択できるようになり、選択した際の絞り込み結果も想定どおりです。

▼テーブルの絞り込み結果

さいごに

今回、SubField関数で以下内容が可能なことをご紹介しました。
・特定の文字ごとに文字列を区切って取得可能
・特定の文字ごとに行を分けることが可能
(元データの持ち方を変更するため、データロードエディタでのみ可能)

▼場所別の使用可否

データマネージャー データロードエディタ チャート
SubField(値,'区切り文字',取得位置) 使用× 使用○ 使用○
SubField(値,'区切り文字') 使用× 使用○ 使用×


SubField関数のように、チャート/スクリプトのどちらでも使用できる関数があります。
今回のように元データの持ち方を変更したり加工して扱いたい場合は、スクリプトで使用して、ロード時に処理を済ませておきましょう。

一般的に、ロード時に処理した方が、アプリ操作時のパフォーマンスが良くなるためです。
チャートの軸やメジャーは、アプリの画面が描画される度に処理されます。
選択肢を変えるだけでも画面は描画されますので、集計処理が複雑だったり、データ量が多かったりすると、その分パフォーマンスに影響が出ることになります。

おおまかですが、以下のように覚えておくと良いですね。
・元データの加工…ロード時に済ませておく
・データの計算……チャートで行う

関連している記事

  • データ準備
2022.04.13

テーブル名や項目名を変更する方法(データマネージャー編)

データマネージャーで取り込んだデータのテーブル名や項目名を変更する方法をご紹介します。

  • データ準備
2022.03.17

Nullを別の値に置き換えて分析しよう!

データマネージャーとデータロードエディタで置換する方法をご紹介します。

  • データ準備
2022.01.26

必要なデータだけを取り込みましょう!(データマネージャー編)

ここでは、Qlik Senseのデータマネージャーを使った場合、全てのデータではなくて、必要なデータを取り込む方法をご紹介します。

ページの先頭へ戻る