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サーバーのインストール
※ここでエラーが出るかも知れませんが
普通に使えました
5.
TabPyサーバーを起動
anacondaを既にインストールしている場合
anacondaディレクトリ配下に
インストールされるみたいなので
そこの中のstartup.sh(windowsはstartup.bat)を使って起動させる
起動させるとポート9004で立ち上がる
6.
Tableau側の連携設定
外部サービス接続設定で

サーバー:localhost
ポート:9004
を指定する
※外部サーバーを指定することも可能
これで環境は整ったのであとは使う側
TableauからPythonの呼び出し方
計算式を作り
SCRIPT_REAL関数等を使って呼び出す
構文
SCRIPT_REAL(
'Pythonスクリプト' , 引数指定するメジャー1 , 引数指定するメジャー2 ・・・)
引数は2個以上設定可能なため , で繋げて行く
Pythonスクリプトの部分は
Pythonの関数を定義するような形にする
引数をPython側に渡すには引数名を
_arg1 , _arg2 ・・・のような命名にする
例:
サンプルストアのデータを使って
numpyで売上、利益の相関係数を返す

SCRIPT_REAL( '
import numpy as np
return np.corrcoef(_arg1,_arg2)[0,1]
' ,
SUM([売上]) ,
SUM([利益]) )
2つの引数がPython側に渡り
計算値がreturnでTableau側に返ってきます
この場合単に計算式を作って配置しただけだと
式のエラー表示が出ます
これは表計算で
ディメンジョンを使用しているからです
なので式の表計算設定で
使っているディメンジョンを指定してやります
(この場合は顧客名)
フィルターに設定する場合も同様です
最後に
トヨタの株価の推移と
米ドルの価格をつかって
どれだけ相関しているかを求めてみました
期間でフィルターしており
2016年10月から現在までのトヨタの株価と
米ドルの相関性は93%ほどになりました
期間によっては相関していない部分もあったり
こういう調査をするのにプログラムコードを書かずに
マウス操作だけで出来るようになるのは
Tableauの強みかと思います
因みに
Python連携できるのは
Tableau Desktopか
Tableau Serverだけで
Public版ではできないようです
買うしか無いとかwww
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側の連携設定
外部サービス接続設定で

サーバー:localhost
ポート:9004
を指定する
※外部サーバーを指定することも可能
これで環境は整ったのであとは使う側
TableauからPythonの呼び出し方
計算式を作り
SCRIPT_REAL関数等を使って呼び出す
構文
SCRIPT_REAL(
'Pythonスクリプト' , 引数指定するメジャー1 , 引数指定するメジャー2 ・・・)
引数は2個以上設定可能なため , で繋げて行く
Pythonスクリプトの部分は
Pythonの関数を定義するような形にする
引数をPython側に渡すには引数名を
_arg1 , _arg2 ・・・のような命名にする
例:
サンプルストアのデータを使って
numpyで売上、利益の相関係数を返す

SCRIPT_REAL( '
import numpy as np
return np.corrcoef(_arg1,_arg2)[0,1]
' ,
SUM([売上]) ,
SUM([利益]) )
2つの引数がPython側に渡り
計算値がreturnでTableau側に返ってきます
この場合単に計算式を作って配置しただけだと
式のエラー表示が出ます
これは表計算で
ディメンジョンを使用しているからです
なので式の表計算設定で
使っているディメンジョンを指定してやります
(この場合は顧客名)
フィルターに設定する場合も同様です
最後に
トヨタの株価の推移と
米ドルの価格をつかって
どれだけ相関しているかを求めてみました
期間でフィルターしており
2016年10月から現在までのトヨタの株価と
米ドルの相関性は93%ほどになりました
期間によっては相関していない部分もあったり
こういう調査をするのにプログラムコードを書かずに
マウス操作だけで出来るようになるのは
Tableauの強みかと思います
因みに
Python連携できるのは
Tableau Desktopか
Tableau Serverだけで
Public版ではできないようです
買うしか無いとかwww
コメントする