目的
DataSaberになるための奮闘記です。
この記事は、3つの記事からなるシリーズはじめの記事となります。
- TabPy とTableauを接続してみる ← これ!
- TabPyとTableauで機械学習してみる
- TabPyをDockernizeしてみる
そもそもTabPyとは
TabPy (Tableau Python Server) は、ユーザーが Tableau の表計算を介して Python スクリプトと保存された関数を実行できるようにすることで Tableau の機能を拡張する、分析拡張機能の実装です。
ユースケースととして次のように紹介されています。
Tableau 内のデータクリーニングと予測アルゴリズムに Python を使用する。
動作環境
Tableau Desktopバージョン
2021.3.14 (20213.22.0707.1757) 64 ビット
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
$ python -V
Python 3.8.10
$ pip3 show tabpy
Name: tabpy
Version: 2.12.0
導入方法
1. TabPyライブラリのインストール
$ pip3 install tabpy
2. TabPyサーバの起動
ローカルのポート9004でTabPyサーバが起動していることがわかります。
$ tabpy
...
2024-09-28,11:00:42 [INFO] (app.py:app:167): Web service listening on port 9004
3. TabPyとTableau Desktopの接続
1. Tableau ヘルプ > 設定とパフォーマンス > 分析の拡張機能接続の管理 > TabPyを選択
2.接続
サーバ: 127.0.0.1, ポート: 9004と設定してサインイン
テスト接続を押下し正常に接続できていれば下図のポップアップが表示される
TableauからPythonを実行させる
TableauでTabPyを使う方法として2つあります。
今回は、前者の方法を試してみたいと思います。
- Tableauのカスタム計算フィールドでPythonスクリプトを記述しTabPyと通信する
- 事前にTabPyサーバにデプロイした関数を利用する
図のように計算フィールドに記述します。
売上を10倍にしてみます。
結果
結果はこのとおり!TabPyでやる必要のないレベルの計算ですが。。。
最後に
TabPyとTableauを接続してみました。
正常に接続できたところで、次回はTabPyで機械学習してみたいと思います。
引用