BIツールの最高峰
Tableauがver10.2になって
Pythonが使えるようになりました

使い方

1.
Tableau10.2をインストールするかアップグレード 

2.
TabPyをダウンロード

git clone git://github.com/tableau/TabPy

gitコマンドでのダウンロードになるので
gitが無い人は要git install 

3.
TabPyディレクトリに移動

cd TabPy

4. 
TabPyサーバーのインストール

sh setup.sh (Macの場合)
setup.bat (Windowsの場合)

※ここでエラーが出るかも知れませんが
普通に使えました

5.
TabPyサーバーを起動

anacondaを既にインストールしている場合
anacondaディレクトリ配下に
インストールされるみたいなので
そこの中のstartup.sh(windowsはstartup.bat)を使って起動させる

起動させるとポート9004で立ち上がる

6.
Tableau側の連携設定

外部サービス接続設定で
no title

サーバー:localhost
ポート:9004
を指定する

※外部サーバーを指定することも可能

これで環境は整ったのであとは使う側


TableauからPythonの呼び出し方

計算式を作り
SCRIPT_REAL関数等を使って呼び出す

構文
SCRIPT_REAL(
'Pythonスクリプト' , 引数指定するメジャー1 , 引数指定するメジャー2 ・・・)

引数は2個以上設定可能なため , で繋げて行く

Pythonスクリプトの部分は
Pythonの関数を定義するような形にする

引数をPython側に渡すには引数名を
_arg1 , _arg2 ・・・のような命名にする

例:
サンプルストアのデータを使って
numpyで売上、利益の相関係数を返す

1

SCRIPT_REAL( '
import numpy as np
return np.corrcoef(_arg1,_arg2)[0,1]
' , 
SUM([売上]) ,
SUM([利益]) )

2つの引数がPython側に渡り
計算値がreturnでTableau側に返ってきます

この場合単に計算式を作って配置しただけだと
式のエラー表示が出ます

これは表計算で
ディメンジョンを使用しているからです

なので式の表計算設定で
使っているディメンジョンを指定してやります
(この場合は顧客名)
フィルターに設定する場合も同様です

最後に
トヨタの株価の推移と
米ドルの価格をつかって
どれだけ相関しているかを求めてみました

toyota

期間でフィルターしており
2016年10月から現在までのトヨタの株価と
米ドルの相関性は93%ほどになりました

期間によっては相関していない部分もあったり
こういう調査をするのにプログラムコードを書かずに
マウス操作だけで出来るようになるのは
Tableauの強みかと思います

因みに
Python連携できるのは
Tableau Desktopか
Tableau Serverだけで
Public版ではできないようです

買うしか無いとかwww