[Tableau Tips #1] Advanced Analytics - Tabpy環境構築


最近よくAdvanced Analyticsというキーワードを耳にしているので、調べてみたらGartnerのIT用語集で以下のように定義しています。
https://www.gartner.com/it-glossary/advanced-analytics
を参照

各BI製品にもAdvanced Analytics対応しているようです。
QlikはAdvanced Analytics Connectorをリリースし、Tableauは2016年のSummitですでにTabpyのベータ版を発表していました。

概要

Tabpyの環境を構築して、TableauでAdvanced Analyticsをやってみたいと思います。

環境

Python開発環境構築 ー PyCharm × Anaconda
で構築したPython開発環境を利用し、その上でTabpyの実行環境を構築します。

構築開始

Anacondaはすでに存在するので、そこに仮想環境を作成し、Tabpyをインストールするイメージです。

Tableau-Python-Server仮想環境作成

Tableau-Python-Serverという名前の仮想環境をconda createコマンドで作成します。

conda create --name Tableau-Python-Server python=2.7 anaconda

インストールするパッケージがずらりとリストアップされます。そしてProceed ([y]/n)?が聞かれますので、yをタイプしEnter押せば構築が続けます。

仮想環境構築完了

Anaconda Prompt(Tableau-Python-Server)が追加されます。Jupyter Nodebookも作られます。

Activate Tableau-Python-Server

Commond Promptを開き、conda info -eで仮想環境の状態を見れます。

conda info -e
activate Tableau-Python-Server
conda info -e

でActive仮想環境がTableau-Python-Serverに移ったことを確認できます。

tabpy-serverインストール

pip install tabpy-server

でtabpy-serverをインストールします。

完了したらプロンプトが戻ってきます。

以下ディレクトリに環境が作成されます。
C:\ProgramData\Anaconda3\envs\Tableau-Python-Server\Lib\site-packages\tabpy_server

tabpy-server起動

startup.batをダブルクリック(or 右クリックの管理者として実行)しますと、
tabpy-serverが起動されます。

接続確認

早速Tableau Desktopから接続してみます。

外部サービス接続の管理

Tableau Desktop -> Menu -> ヘルプ -> 設定とパフォーマンス -> 外部サービス接続の管理 を開きます

外部サービス接続画面で、サーバのIPとポート(9004)を入力して、テスト接続を押します。

接続エラー

早速接続エラーになります。

TabpyサーバはAWS上のEC2インスタンスとして立てているので、セキュリティグループでポートを開ける必要があります。また、Windowsサーバ内のファイアウォールのポートも併せてインバウンド許可します。

ポート&ファイアウォール設定

EC2 - 単にセキュリティグループに9004を追加するのみ

Windows - コントロールパネル -> Windows ファイアウォール -> 詳細設定を押します

受信規則 -> 新しい規則を押して、以下のように追加します。

再接続

環境構築完了

これでAdvanced AnalyticsするためのTabpy環境を構築完了です。
次回は相関関係をダイナミックに計算するAdvanced Analyticsをやってみます。