Dual — 文字列でも数値でもあるデータ

 

文字列なのにSumで集計できる!?

こんにちは。Deckです。

今回はQlik Senseの特徴的な機能であるDualを解説します。

Dualとは「画面上では文字列だけど、数値としても計算できる」データのことです。

1見しただけではわかりにくいかもしれませんが、使いこなせると非常に便利な機能です。

サンプルを参考に、Dualとはどんなものか見てみましょう。

まず、以下のような生活習慣のアンケートデータを考えます。

朝食を食べる頻度はどのくらいですか?

数値回答1

1 毎朝食べる
2 ときどき食べる
3 ほとんど食べない

1食にどのくらいの量を食べますか?

数値回答2

1 腹八分目まで食べる
2 満腹になるまで食べる

週にどのくらい運動をしますか?

数値回答3

1 週に数回以上
2 週に1~2回
3 ほとんど運動しない

ここでは回答1~3を足し合わせて肥満リスクを計算するとしましょう。

たとえば、「朝はほとんど食べない(3)」+「1食は腹八分目まで食べる(1)」+「週に1~2回運動する(2)」という人は3 + 1 + 2 = 肥満リスク6 のように計算します。

Dualには「文字列だけど、数値として計算もできる」性質があるので上のようなデータもとてもわかりやすく集計できますよ!

サンプルデータ

今回使用するサンプルデータはこちらからダウンロードできます。

zipファイルには「アンケートデータ」+「アンケートの回答と数値の対応データ」が入っています。

アンケートデータの集計

ロードスクリプト編集画面からファイルを読み込みます。
「テーブル ファイル..」をクリックします。

対応表1・対応表2・対応表3・アンケートデータの順で追加を行ってください。

データの追加を繰り返して回答と数値の対応表、アンケートデータのスクリプトを追加します。

数値と回答を変換するため、対応表をマッピングテーブルとして取り込みます。
マッピングテーブルについては【スクリプト】Mappingで文字列の変換規則を設定(1)  (2)を参照してください。
スクリプトを以下のように編集します。

  • テーブル名を「朝食を食べる頻度_Mapping」「一食の量_Mapping」「運動_Mapping」に設定
  • LOAD文の前にMappingを追加

アンケートデータの読み込みスクリプトを以下のように編集します。

LOAD
回答者,
Dual(ApplyMap(‘朝食を食べる頻度_Mapping’,回答1),回答1) as 回答1,
Dual(ApplyMap(‘一食の量_Mapping’,回答2),回答2) as 回答2,
Dual(ApplyMap(‘運動_Mapping’,回答3),回答3) as 回答3

以上でスクリプトの準備が完了しました。データをロードし、シートの編集画面に移りましょう。

集計テーブルの作成

シートの編集画面からテーブルを作成します。

軸に「回答者」、「回答1」、「回答2」、「回答3」を追加します。

メジャーとして「肥満リスク」を追加します。
数式は「Sum(回答1+回答2+回答3)」とし、ラベルは「肥満リスク」とします。
合計モードは「合計なし」に設定します。

完成

アンケートデータの集計テーブルが完成しました。
「回答1~3」は文字列として表示され、「肥満リスク」は数値として集計されています!

このように、「数値と文字列の両方の性質を持つ」データはDualを使ってQlik Senseに読み込ませると便利に集計が行えますね!

QlikViewを体験してみませんか?

INSIGHT LABでは毎週QlikViewの無料ハンズオンセミナーを開催しています。 初めてQlikViewをご利用される方を対象に、QlikViewって何?ってところからQlikViewと他のBIとの違いについてもわかりやすくご説明させて頂いております。