Weitere ähnliche Inhalte Ähnlich wie TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析 (20) Mehr von QlikPresalesJapan (20) TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析4. 4
• Qlikが提供するデータ統合・データ分析のポートフォリオ
• R / Python 連携の概要
• Qlik Sense の準備
• R 連携手順
• R 連携 デモンストレーション
• Python 連携手順
• Python 連携 デモンストレーション
• Load Scriptによる連携
• Load Script デモンストレーション
• Q&A
アジェンダ
8. 8
Qlik Sense の統計関数・財務関数
Category Description
統計集合関数 集計データの平均値・相関係数、フラクタル、排他的フラクタル、尖度、直線回帰の集計値、自由度、F統計
量、m値(傾き)、r2値(決定係数)、b値の標準誤差、m値の標準誤差、y予測値の標準誤差、回帰変
動、残差変動、中央値、歪度、標準偏差、集計標準誤差、標準誤差 等
統計的分布関数 chi2分布(片側確率, 片側確率の逆関数)、F確率分布、F確率分布の逆関数、累積正規分布、累積正
規分布の逆関数、スチューデントt分布の確率・自由度
カイ二乗検定 カイ二乗検定値、df値(自由度)、p値(優位性) 等
t検定 t値、t検定信頼区間値、信頼区間(下限値, 上限値)、スチューデントt検定(自由度, 両側有意水準, 標
準誤差, df値, 平均差) 等
z検定 z値、信頼区間(下限値, 上限値)、z検定信頼区間値、両側有意水準、平均差、標準誤差 等
財務関数/財務集計
関数
投資将来価値、投資期間数、ローン支払額、年金利率、内部収益率、正味現在価値、内部収益率 等
詳細はこちら https://help.qlik.com/ja-JP/sense/June2020/Subsystems/Hub/Content/Sense_Hub/Scripting/script-statements-keywords.htm#
11. 11
Rとの連携の仕組み
SSEtoRserve
❑ Desktop版 Qlik Sense
• Settings.iniで設定
❑ Qlik Sense Enterprise
• Qlik Management Consoleで設定
❑ Rと連携するコネクタの実装
❑ gRPCプロトコルでQlik Senseと通信
❑ Rserveを起動
❑ 処理要求を受け取り、結果を
SSEtoRserveへ返す、
Port 50051 (デフォルト) Port 6311 (デフォルト)
12. 12
Pythonとの連携の仕組み
❑ Desktop版 Qlik Sense
• Settings.iniで設定
❑ Qlik Sense Enterprise
• Qlik Management Consoleで設定
❑ gRPCサーバーおよび演算処理をPythonで実装し、gRPC
サーバーを起動
❑ 処理要求を受け取り、結果をQlik Senseへ返す
Port番号を指定
15. 15
Qlik Sense のインストール
Advanced Analytics Integrationを実施するためには、Qlik Sense Enterprise on Windows または、
Desktop版 Qlik Senseが必要です。 各アプリケーションは、Download Siteからダウンロード可能です。
https://www.qlik.com/ja-jp/services/support
16. 16
Desktop版 Qlik SenseのSaaS版 Qlik Senseへの認証
• Desktop版 Qlik Senseは無償で機能制限なく製品の利用が
可能となっていましたが、2020年6月30日をもって無償利用の製
品ご提供は終了(フリーミアムからトライアルモデルへの変更)
• SaaS版 Qlik Senseのプロファイルページに、最新のDesktop版
Qlik Senseのインストールファイルと、 Desktop版 Qlik Sense
のオンライン認証を行うオプションが追加
• Qlik Sense Businessユーザー、及びQlik Sense
EnterpriseのProfessionalユーザーが認証可能
18. 18
Qlik Sense Plugin セットアップ
Desktop版 Qlik Sense
Qlik Sense Enterprise
on Windows
C:Users[user]DocumentsQlikSenseSetting.ini ファイル
を編集
SSEPlugin=<EngineName>,<HostName>:<Port>
EngineName : プラグインのエイリアス
HostName : ホスト名
Port : ポート番号
Qlik Management Console の Analytics connections を編集
Name : プラグインのエイリアス
Host : ホスト名
Port : ポート番号
20. 20
Rの事前準備
1. Rのインストール
• R公式サイト : https://www.r-project.org/
2. 必要に応じてRパッケージの導入
• 実行するRの関数に応じて、パッケージを導入
3. SSE-R-Pluginの導入
• GitHub : https://github.com/qlik-oss/sse-r-plugin
• https://github.com/qlik-oss/sse-r-plugin/releases/tag/v1.2.1 (2020年8月25日現在)
21. 21
R 連携の流れ (セットアップ)
1. Rserveの起動
• C:Program FilesRR-4.0.2binx64Rserve.exe
2. SSE-R-Pluginの起動
• C:sse-r-plugin-1.2.1-qlik-ossSSEtoRserve.exe
3. Qlik Senseの起動
4. Qlik アプリケーションの実行
※ ディレクトリ名はインストール環境に合わせて変更してください。
Qlik Senseを起動する前に、RserveとSSE-R-Pluginを起動してください。
22. 22
R 連携 シンタックスについて
R . S c r i p t A g g r ( ' v a r ( q $ c v a l ) ' , [ V a l u e 3 ] a s c v a l )
Rに渡されるQlikの変数 Qlikの変数のエイリアス
q$変数名でRコマンドに変数を代入
Rで実行されるコマンド
Rで実行される数式を指定
プラグイン名
※ 上記8つのスクリプト関数が自動的に追加されます。
25. 25
Pythonの事前準備
1. Pythonのインストール
• Python 公式サイト : https://www.python.org/
2. 必要に応じてPythonパッケージの導入
• pip install grpcio
3. Python サンプルアプリをダウンロード
• https://github.com/qlik-oss/server-side-
extension/blob/master/examples/python/GetStarted.md
• サーバー接続のソースは変更せず、そのまま利用します。
26. 26
Python 連携の流れ (セットアップ)
1. Functionの定義
• 呼び出し関数の定義(実装)
• サンプルアプリの def functionsを編集
• 関数定義jsonファイルの編集
2. Pythonアプリの実行
3. Qlik Senseの起動
4. Qlik アプリケーションの実行
※ ディレクトリ名はインストール環境に合わせて変更してください。
サンプルアプリのdef functions
関数定義jsonファイル
Qlik Senseを起動する前に、Pythonアプリを起動してください。
27. 27
Functionsの定義について
"Functions" : [
{
"Id" : 0,
"Name" : "StdOfColumn",
"Type" : 1,
"ReturnType": 1,
"Params" : {
"col1" : 1,
"col2" : 1
}
},
・・・・・・・・
]
Id 関数内でマッピングされた関数の識別ID
Name Qlikから関数を呼び出すために使用する名前。
Type 関数のタイプを指定。
0 : スカラー (行ごとに1つのスカラーが返る)
1 : 集計 (複数行のデータ入力、単一値が返る)
2 : テンソル (複数行のデータ入力、複数行が返る)
ReturnType プラグインからQlikに返されるデータのタイプを指定。
0 : 文字列
1 : 数値
2 : dual値 (文字列と数値の両方)
Params QlikがSSEプラグインに渡すパラメータのタイプと数を指定する。
0 : 文字列
1 : 数値
2 : dual値 (文字列と数値の両方)
34. 34
No. ご質問 回答
1 Settings.ini は
AppData/Local/Programs/Qlik/Sense/Engineを作らな
いと連携できないと思いますが?
https://help.qlik.com/ja-
JP/sense/June2020/Subsystems/Hub/Content/Sens
e_Hub/Introduction/configure-analytic-connection-
desktop.htm
に言及されていますが、
C:Users<UserName>DocumentsQlikSenseSe
ttings.ini が利用可能です。
2 Rコマンドを渡すところで、あらかじめ作成済みのRスクリプトを読み
込ませて、そのあとでコマンド実行ということは可能でしょうか?
あらかじめ文字列としてQlikエンジンに取り込まれているものを、
Qlikの数式内で展開すれば可能です。
例えば、Rコマンド(“xxxx.R”)を読み込ませて変数に代入し、その
変数をスクリプタ内で利用することは可能です。
3 Qlik側にスクリプトを取り込まず、Rコマンドとして、
source("commands.R")を送る方式は可能でしょうか?
sourceにつきましては、検証が必要です。
別途回答させてください。
4 Qlik SenseではなくQlikViewを利用していますが、本日の説明
の中でQlikViewの場合は異なることはありますか?
Scriptの内容はQlik SenseもQlikViewも同様です。連携に必
要な設定手順が少し異なります。
QlikViewの設定につきましては、こちらをご参照ください。
https://github.com/qlik-oss/server-side-
extension/blob/master/docs/configuration.md#qlikview
36. 36
Qlik Senseの書籍出版
タイトル:Qlik Sense ユーザーのためのデータ分析実践バイブル
■■仕様等
・判型:B5 変 ・予定総ページ数:500 ページ程度
・予価本体:4,200円 (+税)
・刊行予定日:2020 年9月 7日
• QlikSpaceの記事をベースに、書籍用に大幅にカスタマイズ&加筆
• 1 冊でQlik Sense の基本をマスターし(=基本編)、ニーズの高い分
析例(=応用編)をできるだけ丁寧に紹介
→ 翔泳社サイト