はじめに - ashisuto · 「qlik...
TRANSCRIPT
はじめに
コース概要と目的
本コースは、Qlik Sense入門の内容を踏まえ、より実践的なアプリケーション開発についてご覧いただくコースです。データベースから取り込んだデータを自由に加工する方法や、チャートにさまざまな集計値を表示する方法などにつ
いて、身に付けることを目的とします。
受講対象
「Qlik Sense入門」を受講された方、もしくは同等の知識をお持ちの方。
製品のバージョン
本テキストで解説しているQlik Senseは以下のバージョンを使用しています。・Qlik Sense June 2019
テキスト中の表記について
画面中に表示される文字の表記
ウィンドウ、ボタン、メニューなど、画面に表示される文字は[]で囲んで表記しています。画面上に表示される選択肢や、入力する文字については「」で囲んで表記しています。
ディレクトリの表記
本テキストではファイルのパスを表す際、すべてデフォルトのインストールディレクトリを基準に表記しています。お客様の環境と異なる場合は、適宜読み替えてください。
コマンドの構文規約
値 この表記は、ユーザが適切な値に置き換えて指定することを表します。
{ 値 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マークなどは特に明記していません。・本書に記載された内容を使用して、いかなる損害が発生しても、株式会社アシスト、および、著者、本書製作関
係者は一切責任を負いません。
目次
第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
第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
第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
第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
さまざまな関数
1.1 Qlik Senseの関数
1.1.1 Qlik Senseの関数
Qlik Senseには、独自の関数が数多く用意されています。
下図は関数の一例です。
Qlik Sense応用コース 1-1
この章ではよく使用する関数についてご覧いただきます。
その他の関数や、関数の構文の詳細については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.
バージョンを選択できます。
言語を選択できます。
さまざまな関数
1.1.2 関数の使用例1(If関数)
If関数は条件式をもとに演算をおこないます。条件式を指定して、条件式を満たすときの値と満たさなかったときの値を指定します。
If(条件式, 値1 [, 値2])
条件式 条件式を指定します。
値1 条件式を満たすときの値を指定します。値2 条件式を満たさなかったときの値を指定します。
省略すると、条件式を満たさなかった場合はNULL値が返されます。
例 実績が目標以上だった場合は「達成」、目標未満だった場合は「未達成」と表示します。
If(実績 >= 目標, '達成', '未達成')
例題1 If関数の利用
If関数を使用して単価の項目をもとに、単価区分の項目を作成してみましょう。
下図は単価ごとに納品数量を集計した円グラフです。単価のような金額のデータを軸にする場合、もとのデータをそのまま使用するのではなく、ある一定の単位でグルー
プ化することがよくあります。
Qlik Sense応用コース 1-3
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 単価区分;
さまざまな関数
3 「テーブル」のシートを開きます。シートの編集画面を表示し、[アセット]パネルから「単価区分」を追加します。
単価区分のテーブルが追加されたら、サイズを調整します。
4 単価がグループ化されていることを確認します。
単価区分の値を選択し、動作を確認します。また、「円グラフ」シートに切り替え、単価区分を軸とした円グラフを確認します。
Qlik Sense応用コース 1-5
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 単価区分;
5.1.2 棒グラフを活用する
ここまででご覧いただいたとおり、棒グラフは値の比較をしたり、2値の隔たりを見たり、または円グラフのかわりに割合を表示したりと、多くの用途に使用できます。
ここでは、単純な棒グラフ以外の棒グラフについて見ていきます。
例題1 棒グラフの活用
コンボチャートや100%積み上げ棒グラフなどを作成してみましょう。ここでは、作成済みのチャートを下図のように変
更してみましょう。
変更前
変更後
5-10 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.
コンボチャートでマーカーを使用
100%積み上げ棒グラフ円グラフを棒グラフに変換
可視化の実践
1 REI501を開いて、[編集]ボタンをクリックしてください。まず画面上部の棒グラフをコンボチャートに変換します。
[アセット]パネルの[チャート]タブから、「コンボチャート」を棒グラフ上にドラッグ&ドロップして、[以下に変換:コンボチャート]を選択します。
2 [プロパティ]パネルの[データ]-[メジャー]で「昨年度売上集計」を開きます。「マーカー」を選択し、「線」を
選択します。
Qlik Sense 応用コース 5-11
3 つづいて、画面左下の円グラフを棒グラフに変換します。[アセット]パネルの[チャート]タブから、「棒チャート」を円グラフ上にドラッグ&ドロップして、[以下に変換:棒
チャート]を選択します。
4 横棒グラフで表示してみましょう。[プロパティ]パネルの[スタイル]-[プレゼンテーション]で「水平」を選択します。
5-12 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.
可視化の実践
5 棒グラフの値が割合ではなく実数になっています。数式を編集して割合の表示に変更してみましょう。[データ]-[メジャー]で[数式]を以下の数式に変更します。
また、割合の表示にするために、数値書式を下図のように変更してみましょう。
6 グリッド線やX軸ラベルを削除して、かわりに値ラベルを表示してみましょう。
[スタイル]-[プレゼンテーション]で[グリッド線の間隔]の[自動]を無効にして、[カスタム]を「なし」に設定します。
また[値ラベル]を有効にします。
Qlik Sense 応用コース 5-13
Sum([売上金額]) / Sum(total [売上金額])
7 [スタイル]-[X軸]で[ラベルとタイトル]を「なし」に設定します。
8 最後に、画面右下の棒グラフを100%積み上げ棒グラフに変更してみましょう。棒グラフを選択して、[プロパティ]パネルの[スタイル]-[プレゼンテーション]を開きます。
「積み上げ」と「水平」を選択します。
5-14 Copyright(C) 2019 K.K. Ashisuto All Rights Reserved.
可視化の実践
9 100%積み上げ棒グラフに変更してみましょう。前回のグラフと同じように、数式を編集して割合の表示に変更します。
[データ]-[メジャー]で[数式]を以下の数式に変更します。
また、割合の表示にするために、数値書式を下図のように変更してみましょう。
10 以上で完成です。結果を確認してみましょう。
Qlik Sense 応用コース 5-15
Sum([売上金額]) / Sum(total<年> [売上金額])