はじめに - ashisuto · 「qlik...

18
はじめに コース概要と目的 本コースは、Qlik Sense入門の内容を踏まえ、より実践的なアプリケーション開発についてご覧いただくコースです。 データベースから取り込んだデータを自由に加工する方法や、チャートにさまざまな集計値を表示する方法などにつ いて、身に付けることを目的とします。 受講対象 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik Senseは以下のバージョンを使用しています。 ・Qlik Sense June 2019

Upload: others

Post on 23-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

はじめに

コース概要と目的

本コースは、Qlik Sense入門の内容を踏まえ、より実践的なアプリケーション開発についてご覧いただくコースです。データベースから取り込んだデータを自由に加工する方法や、チャートにさまざまな集計値を表示する方法などにつ

いて、身に付けることを目的とします。

受講対象

「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。

製品のバージョン

本テキストで解説しているQlik Senseは以下のバージョンを使用しています。・Qlik Sense June 2019

Page 2: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

テキスト中の表記について

画面中に表示される文字の表記

ウィンドウ、ボタン、メニューなど、画面に表示される文字は[]で囲んで表記しています。画面上に表示される選択肢や、入力する文字については「」で囲んで表記しています。

ディレクトリの表記

本テキストではファイルのパスを表す際、すべてデフォルトのインストールディレクトリを基準に表記しています。お客様の環境と異なる場合は、適宜読み替えてください。

コマンドの構文規約

値 この表記は、ユーザが適切な値に置き換えて指定することを表します。

{ 値 1 | 値 2 | 値 3 } この表記は{}の中から、いずれか 1 つを選択することを表します。

[値] この表記はその指定が任意に指定できる、オプションの指定であることを表します。必ずしも指定する必要はありません。

・Qlik、QlikView、Qlik Sense、QlikTechおよびQlikTechのロゴは、QlikTech International ABの登録商標です。

・Microsoft、Windows、Windows Server、Microsoft Office、SQL Server、Internet Explorer、 Microsoft Edge、その他本書に記載されるマイクロソフト製品は、米国Microsoft Corporationの米国および

その他の国における登録商標または商標です。・Linuxは、Linus Torvalds氏の米国およびその他の国における登録商標です。

・OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

・IBM、ibm.com、およびDB2は、International Business Machines Corporationの商標であり、世界中の多くの国で登録されています。

・Mac、macOS、Safari、iPhone、iPadは、米国およびその他の国で登録されたApple Inc.の商標です。・Google Chrome、AndroidはGoogle LLCの商標です。

・Adobe、Adobeロゴ、Adobe PDFのロゴ、Acrobat、Flashは、Adobe Systemsの米国およびその他の国における登録商標または商標です。

・Apache、Apache Tomcat、およびTomcatは、Apache Software Foundationの米国およびその他の国における登録商標または商標です。Apache Software Foundationによる保証は、これらのマークの使用によって

暗示されるものではありません。・Mozilla、Firefox、Firefoxのロゴは、米国およびその他の国におけるMozilla Foundationの商標です。

・その他、記載されている会社名および製品名は、各社の登録商標または商標です。

・本書では、®、©、TMマークなどは特に明記していません。・本書に記載された内容を使用して、いかなる損害が発生しても、株式会社アシスト、および、著者、本書製作関

係者は一切責任を負いません。

Page 3: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

目次

第1章 さまざまな関数

1.1 Qlik Senseの関数.................................................................................1-11.1.1 Qlik Senseの関数...................................................................................................1-1

1.1.2 関数の使用例1(If関数)..........................................................................................1-3

1.1.3 関数の使用例2(Class関数)...................................................................................1-7

1.1.4 関数の使用例3(日付関数)..................................................................................1-12

1.1.5 TOTAL修飾子、DISTINCT修飾子........................................................................1-19

1.2 Qlik Senseのデータ型.........................................................................1-271.2.1 Qlik Senseのデータ型...........................................................................................1-27

1.2.2 データ型変換関数と書式設定関数........................................................................1-28

1.2.3 デュアル値について理解する.....................................................................................1-35

1.2.4 NULL値について理解する.......................................................................................1-40

1.2.5 端数処理...............................................................................................................1-45

1.3 Aggr関数............................................................................................1-461.3.1 Aggr関数とは.........................................................................................................1-46

1.3.2 計算軸の作成........................................................................................................1-47

1.3.3 集計関数のネスト....................................................................................................1-51

1.4 その他の関数.......................................................................................1-551.4.1 レコード関数(Above関数など)..............................................................................1-55

1.4.2 範囲関数(RangeSum関数)................................................................................1-60

1.5 練習問題............................................................................................1-641.5.1 練習問題...............................................................................................................1-64

1.6 第1章のまとめと章末付録..........................................................................................1-67

1.6.1 まとめ................................................................................................1-671.6.2 章末付録...............................................................................................................1-68

Page 4: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

第2章 データモデリング

2.1 データモデリングの概要............................................................................2-12.1.1 データモデリングの概要..............................................................................................2-1

2.2 データ構造の変換..................................................................................2-22.2.1 列から行への変換(Crosstableプレフィックス)...........................................................2-2

2.2.2 テーブルの連結(Concatenateプレフィックス)...........................................................2-9

2.3 データの結合.......................................................................................2-192.3.1 テーブルの結合(Joinプレフィックス).........................................................................2-19

2.3.2 データ値の置き換え(MappingプレフィックスとApplyMap関数).............................2-23

2.4 集合演算............................................................................................2-302.4.1 集合演算(Keepプレフィックス)...............................................................................2-30

2.5 テーブルの再読み込み..........................................................................2-342.5.1 テーブルの再読み込み(Resident句).....................................................................2-34

2.5.2 Resident句の使用例............................................................................................2-35

2.5.3 Load文のネストとResident句................................................................................2-40

2.6 データモデリングの実践.........................................................................2-412.6.1 キーの作成(AutoNumber関数、AutoNumberHash関数)................................2-41

2.6.2 循環参照の解決....................................................................................................2-53

2.6.3 マスターカレンダーの作成........................................................................................2-54

2.6.4 その他の参考情報..................................................................................................2-56

2.7 練習問題............................................................................................2-572.7.1 練習問題...............................................................................................................2-57

2.8 第2章のまとめと章末付録....................................................................2-612.8.1 まとめ......................................................................................................................2-61

2.8.2 章末付録...............................................................................................................2-62

Page 5: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

第3章 QVDファイルと差分更新

3.1 QVDファイル...........................................................................................3-13.1.1 QVDファイルとは........................................................................................................3-1

3.1.2 QVDファイルの作成(Store文).................................................................................3-3

3.2 差分更新...............................................................................................3-83.2.1 Qlik Senseでの差分更新.........................................................................................3-8

3.2.2 差分更新のシナリオ................................................................................................3-16

3.2.3 差分更新の例(挿入のみの場合)...........................................................................3-17

3.3 練習問題............................................................................................3-273.3.1 練習問題...............................................................................................................3-27

3.4 第3章のまとめと章末付録..........................................................................................3-29

3.4.1 まとめ................................................................................................3-293.4.2 章末付録...............................................................................................................3-29

第4章 比較分析

4.1 比較分析...............................................................................................4-14.1.1 比較分析..................................................................................................................4-1

4.2 SET分析................................................................................................4-24.2.1 SET分析の基本........................................................................................................4-2

4.2.2 条件式の指定...........................................................................................................4-7

4.2.3 複数の値の指定.....................................................................................................4-11

4.2.4 前年比...................................................................................................................4-17

4.2.5 前年比(動的な値の取得).....................................................................................4-22

4.2.6 SET分析の指定方法のまとめ..................................................................................4-27

4.3 並列ステート........................................................................................4-284.3.1 並列ステート...........................................................................................................4-28

4.3.2 数式でのステートの指定..........................................................................................4-34

4.4 練習問題............................................................................................4-404.4.1 練習問題...............................................................................................................4-40

4.5 第4章のまとめと章末付録....................................................................4-424.5.1 まとめ......................................................................................................................4-42

4.5.2 章末付録...............................................................................................................4-43

Page 6: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

第5章 可視化の実践

5.1 チャートの活用........................................................................................5-15.1.1 チャートの分類...........................................................................................................5-1

5.1.2 棒グラフを活用する.................................................................................................5-10

5.1.3 数値の分布や相関関係を確認する.........................................................................5-16

5.1.4 マップを活用する.....................................................................................................5-25

5.2 可視化のポイント..................................................................................5-365.2.1 可視化のポイント.....................................................................................................5-36

5.2.2 情報の階層を整理する...........................................................................................5-37

5.2.3 チャートの配置を検討する.......................................................................................5-41

5.2.4 色を効果的に使う...................................................................................................5-44

5.2.5 アプリをシンプルにする..............................................................................................5-47

5.3 練習問題............................................................................................5-605.3.1 練習問題...............................................................................................................5-60

5.4 第5章のまとめと章末付録....................................................................5-645.4.1 まとめ......................................................................................................................5-64

5.4.2 章末付録...............................................................................................................5-65

A 付録

A.1 付録......................................................................................................A-1A.1.1 マッピングテーブルを使用した項目名の変更...............................................................A-1

A.1.2 データベース中の値を変数に格納する(Peek関数)...................................................A-3

A.1.3 InlineとAutoGenerate...........................................................................................A-5

A.1.4 フォルダデータ接続....................................................................................................A-7

A.1.5 マルチファクトの解決(リンクテーブル).........................................................................A-8

A.1.6 更新や削除がある場合の差分更新(Exists関数)...................................................A-11

Page 7: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

さまざまな関数

1.1 Qlik Senseの関数

1.1.1 Qlik Senseの関数

Qlik Senseには、独自の関数が数多く用意されています。

下図は関数の一例です。

Qlik Sense応用コース 1-1

Page 8: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

この章ではよく使用する関数についてご覧いただきます。

その他の関数や、関数の構文の詳細についてはQlik Senseのヘルプでご確認いただけます。

スクリプトおよびチャート数式での関数 - Qlik Sensehttps://help.qlik.com/ja-JP/sense/June2019/Subsystems/Hub/Content/Scripting/

functions-in-scripts-chart-expressions.htm

本テキスト作成時点で、日本語版のヘルプが提供されているのはQlik Sense June 2019以前のバージョンとなります。

該当のバージョンで日本語版の提供が開始されると、ヘルプ画面上のメニューから「日本語」を選択できるようになります。

1-2 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

バージョンを選択できます。

言語を選択できます。

Page 9: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

さまざまな関数

1.1.2 関数の使用例1(If関数)

If関数は条件式をもとに演算をおこないます。条件式を指定して、条件式を満たすときの値と満たさなかったときの値を指定します。

If(条件式, 値1 [, 値2])

条件式 条件式を指定します。

値1 条件式を満たすときの値を指定します。値2 条件式を満たさなかったときの値を指定します。

省略すると、条件式を満たさなかった場合はNULL値が返されます。

例 実績が目標以上だった場合は「達成」、目標未満だった場合は「未達成」と表示します。

If(実績 >= 目標, '達成', '未達成')

例題1 If関数の利用

If関数を使用して単価の項目をもとに、単価区分の項目を作成してみましょう。

下図は単価ごとに納品数量を集計した円グラフです。単価のような金額のデータを軸にする場合、もとのデータをそのまま使用するのではなく、ある一定の単位でグルー

プ化することがよくあります。

Qlik Sense応用コース 1-3

Page 10: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

1 REI101を開き、「円グラフ」のシートに切り替えます。単価ごとの納品数量を円グラフで集計しています。単価のデータの種類が多く、一目で傾向がつかみにくいグ

ラフとなっています。よりわかりやすいグラフにするために、単価を「1万円未満」「1万円以上」「10万円以上」の3つの区分でグ

ループ化します。

2 データロードエディタを起動します。

まずは、「10万円未満」、「10万円以上」という2つの条件でグループ化します。

商品テーブルの末尾に、以下の指定を追加します。

以上で設定は完了です。データをロードします。

1-4 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

If(単価 >= 100000, '10万円以上', '10万円未満') as 単価区分;

Page 11: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

さまざまな関数

3 「テーブル」のシートを開きます。シートの編集画面を表示し、[アセット]パネルから「単価区分」を追加します。

単価区分のテーブルが追加されたら、サイズを調整します。

4 単価がグループ化されていることを確認します。

単価区分の値を選択し、動作を確認します。また、「円グラフ」シートに切り替え、単価区分を軸とした円グラフを確認します。

Qlik Sense応用コース 1-5

Page 12: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

5 次に、1万円未満、1万円以上、10万円以上という条件でグループ化します。データロードエディタを起動し、以下の指定に編集します。

以上で設定は完了です。データをロードします。

Tip

この例では見やすいように、If関数の途中で改行していますが、改行は必須ではありません。

6 「テーブル」のシートと「円グラフ」のシートを開き、単価区分の動作を確認します。

1-6 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

If(単価 >= 100000, '10万円以上',If(単価 >= 10000, '1万円以上', '1万円未満')) as 単価区分;

Page 13: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

5.1.2 棒グラフを活用する

ここまででご覧いただいたとおり、棒グラフは値の比較をしたり、2値の隔たりを見たり、または円グラフのかわりに割合を表示したりと、多くの用途に使用できます。

ここでは、単純な棒グラフ以外の棒グラフについて見ていきます。

例題1 棒グラフの活用

コンボチャートや100%積み上げ棒グラフなどを作成してみましょう。ここでは、作成済みのチャートを下図のように変

更してみましょう。

変更前

変更後

5-10 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

コンボチャートでマーカーを使用

100%積み上げ棒グラフ円グラフを棒グラフに変換

Page 14: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

可視化の実践

1 REI501を開いて、[編集]ボタンをクリックしてください。まず画面上部の棒グラフをコンボチャートに変換します。

[アセット]パネルの[チャート]タブから、「コンボチャート」を棒グラフ上にドラッグ&ドロップして、[以下に変換:コンボチャート]を選択します。

2 [プロパティ]パネルの[データ]-[メジャー]で「昨年度売上集計」を開きます。「マーカー」を選択し、「線」を

選択します。

Qlik Sense 応用コース 5-11

Page 15: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

3 つづいて、画面左下の円グラフを棒グラフに変換します。[アセット]パネルの[チャート]タブから、「棒チャート」を円グラフ上にドラッグ&ドロップして、[以下に変換:棒

チャート]を選択します。

4 横棒グラフで表示してみましょう。[プロパティ]パネルの[スタイル]-[プレゼンテーション]で「水平」を選択します。

5-12 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

Page 16: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

可視化の実践

5 棒グラフの値が割合ではなく実数になっています。数式を編集して割合の表示に変更してみましょう。[データ]-[メジャー]で[数式]を以下の数式に変更します。

また、割合の表示にするために、数値書式を下図のように変更してみましょう。

6 グリッド線やX軸ラベルを削除して、かわりに値ラベルを表示してみましょう。

[スタイル]-[プレゼンテーション]で[グリッド線の間隔]の[自動]を無効にして、[カスタム]を「なし」に設定します。

また[値ラベル]を有効にします。

Qlik Sense 応用コース 5-13

Sum([売上金額]) / Sum(total [売上金額])

Page 17: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

7 [スタイル]-[X軸]で[ラベルとタイトル]を「なし」に設定します。

8 最後に、画面右下の棒グラフを100%積み上げ棒グラフに変更してみましょう。棒グラフを選択して、[プロパティ]パネルの[スタイル]-[プレゼンテーション]を開きます。

「積み上げ」と「水平」を選択します。

5-14 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.

Page 18: はじめに - Ashisuto · 「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。 製品のバージョン 本テキストで解説しているQlik

可視化の実践

9 100%積み上げ棒グラフに変更してみましょう。前回のグラフと同じように、数式を編集して割合の表示に変更します。

[データ]-[メジャー]で[数式]を以下の数式に変更します。

また、割合の表示にするために、数値書式を下図のように変更してみましょう。

10 以上で完成です。結果を確認してみましょう。

Qlik Sense 応用コース 5-15

Sum([売上金額]) / Sum(total<年> [売上金額])