Qlik Senseナレッジ - INSIGHT LAB

Qlik SenseのDual値【文字列でも数値でもあるデータ】

作成者: Deck|2017年7月14日

Qlik senseのDual値:文字列なのにSumで集計できる!?

こんにちは。Deckです。

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

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

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

サンプルを参考に、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で文字列の変換規則を設定

 

スクリプトを以下のように編集します。

  • テーブル名を「朝食を食べる頻度_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に読み込ませると便利に集計が行えますね!

 

この記事は、以上です。