Successfully reported this slideshow.
Your SlideShare is downloading. ×

TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 38 Ad

TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析

Download to read offline

Qlik無料Webセミナー TECHTALK 2020年8月25日の資料です。「RやPythonとの連携で実現するQlik Senseの高度な分析」

Qlik無料Webセミナー TECHTALK 2020年8月25日の資料です。「RやPythonとの連携で実現するQlik Senseの高度な分析」

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析 (20)

Advertisement

More from QlikPresalesJapan (20)

Recently uploaded (20)

Advertisement

TECHTALK 20200825 RやPythonとの連携で実現するQlik Senseの高度な分析

  1. 1. RやPythonとの連携で実現する Qlik Senseの高度な分析 2020/08/25 クリックテック・ジャパン株式会社 阿部 智師
  2. 2. 2 TECH TALKとは? Qlikの製品や機能の中から 特定のテーマを取り上げて、 技術的な情報を発信していくセミナーです。
  3. 3. 3 Q&Aについて • 質問はZoom画面下のQAアイコンをクリックして入力してください。 • 質問に対してQlikパネラーが随時QAパネルで回答します。 • 質問と回答については、セミナーの最後に他の参加者に情報共有させていただき ます。
  4. 4. 4 • Qlikが提供するデータ統合・データ分析のポートフォリオ • R / Python 連携の概要 • Qlik Sense の準備 • R 連携手順 • R 連携 デモンストレーション • Python 連携手順 • Python 連携 デモンストレーション • Load Scriptによる連携 • Load Script デモンストレーション • Q&A アジェンダ
  5. 5. 5 Qlikが提供するデータ統合・ データ分析のポートフォリオ
  6. 6. 6 データソース メインフレーム アプリ ファイルRDBMS データウェアハウス SaaS データレイク データウェアハウス Azure SQL DW Amazon Redshift Enterprise Manager Qlik Compose for Data Warehouses Qlik Compose for Data Lakes Qlik Replicate Qlikが提供するデータ統合・データ分析のポートフォリオ ダッシュボード セルフサービスBI 定型帳票 分析ユーザー データサイエンティスト モバイルアナリティクス アラート 組込みアナリティクス アドバンスドアナリティクス Qlik Sense Qlik NPrinting Qlik Alerting
  7. 7. 7 R / Python 連携の概要
  8. 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#
  9. 9. 9 統計解析・機械学習 RやPythonやDataRobotと連携し、統計解析や機械学習を用いた分析が可能です。 アドバンスド アナリティクスの実現
  10. 10. 10 アプリからリクエスト送信 Qlik エンジンによる処理 SSE※プラグインへ SSE式を送信 1 2 3 アプリへ反映 SSEの結果を統合 計算実行、結果の送信 6 5 4 Server-side-extension / sse-r-plugin Qlik アドバンスド・アナリティクス連携 概要図 gRPC ※SSE : Server Side Extension On Demand
  11. 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. 12 Pythonとの連携の仕組み ❑ Desktop版 Qlik Sense • Settings.iniで設定 ❑ Qlik Sense Enterprise • Qlik Management Consoleで設定 ❑ gRPCサーバーおよび演算処理をPythonで実装し、gRPC サーバーを起動 ❑ 処理要求を受け取り、結果をQlik Senseへ返す Port番号を指定
  13. 13. 13 gRPCとは 公式サイト : https://www.grpc.io/docs/guides/ gRPCでは、クライアントアプリケーションは、ローカルオブジェ クトであるかのように、別のマシン上のサーバーアプリケーショ ンのメソッドを直接呼び出すことができるため、分散アプリ ケーションやサービスを簡単に作成できます。多くのRPCシス テムと同様に、gRPCはサービスを定義するという考えに基 づいており、パラメーターと戻り値の型を使用してリモートで 呼び出すことができるメソッドを指定します。サーバー側では、 サーバーがこのインターフェースを実装し、gRPCサーバーを 実行してクライアント呼び出しを処理します。クライアント側 では、クライアントにはサーバーと同じメソッドを提供するスタ ブ(一部の言語では単にクライアントと呼ばれる)がありま す。 (出典 : gRPC公式サイト 日本語訳) ・Googleが開発したプロトコル ・protocol buffersを利用した高速通信 ・データのシリアライズ
  14. 14. 14 Qlik Sense の準備
  15. 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. 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ユーザーが認証可能
  17. 17. 17 Qlik Sense Business無償トライアル 30日間(+15日間の延長可)の無償トライアルが利用可能 https://www.qlik.com/ja-jp/trial/qlik-sense-business
  18. 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 : ポート番号
  19. 19. 19 R 連携手順
  20. 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. 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. 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つのスクリプト関数が自動的に追加されます。
  23. 23. 23 R 連携 デモンストレーション
  24. 24. 24 Python 連携手順
  25. 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. 26 Python 連携の流れ (セットアップ) 1. Functionの定義 • 呼び出し関数の定義(実装) • サンプルアプリの def functionsを編集 • 関数定義jsonファイルの編集 2. Pythonアプリの実行 3. Qlik Senseの起動 4. Qlik アプリケーションの実行 ※ ディレクトリ名はインストール環境に合わせて変更してください。 サンプルアプリのdef functions 関数定義jsonファイル Qlik Senseを起動する前に、Pythonアプリを起動してください。
  27. 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値 (文字列と数値の両方)
  28. 28. 28 Python 連携 デモンストレーション
  29. 29. 29 Load Scriptによる連携
  30. 30. 30 Load extensionの利用 LoadステートメントからSSEプログインで定義されている関数を呼び出すことができます。 シンタックス Load extension pluginname.functionname([script] tabledescription); ・SSEプラグインの関数を使用したデータロード tabledescription ::= (table {,tablefield}) ・SSEプラグイン内のスクリプト評価によるデータのロード tabledescription ::= (script, table {,tablefield}) (例) 詳細はQlik Helpを参照: https://help.qlik.com/ja-JP/sense/June2020/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm
  31. 31. 31 Load Script デモンストレーション
  32. 32. 32 Advanced Analytics連携 情報サイト https://www.qlikspace.net/qlik-sense-enterprise-サーバー管理者向け資料リンク集/#Advanced_AnalyticsR_Python
  33. 33. 33 Q & A
  34. 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
  35. 35. 35 Appendix
  36. 36. 36 Qlik Senseの書籍出版 タイトル:Qlik Sense ユーザーのためのデータ分析実践バイブル ■■仕様等 ・判型:B5 変 ・予定総ページ数:500 ページ程度 ・予価本体:4,200円 (+税) ・刊行予定日:2020 年9月 7日 • QlikSpaceの記事をベースに、書籍用に大幅にカスタマイズ&加筆 • 1 冊でQlik Sense の基本をマスターし(=基本編)、ニーズの高い分 析例(=応用編)をできるだけ丁寧に紹介 → 翔泳社サイト
  37. 37. 37 各種情報のご提供 QlikSpace Qlik Community Japan YouTube – Qlik Japan Qlik Partner Portal 製品最新情報、イベント情報、チュートリアル、サンプルアプリ 製品・技術Q&A、製品関連資料 新製品リリースの説明ムービーなど 製品プレゼンテーション資料など(PPT)
  38. 38. Thank You

×