Giter Club home page Giter Club logo

tableau-dashboard-expoter's Introduction

🚀 Tableau Dashboard Exporter

このリポジトリには、Tableau ServerおよびTableau Cloud上の特定のタグが設定されたダッシュボードを定期的にPDFとしてエクスポートし、指定されたSlackチャンネルにアップロードするPythonスクリプトが含まれています。これにより、チームメンバーや関係者が最新のダッシュボードを簡単に確認できるようになります。

📁 ファイル構成

  • config.json: 設定情報を含むファイル。
  • main.py: メインのPythonスクリプト。
  • requirements.txt: 必要なライブラリを記載したファイル。

🛠️ 設定

  1. Slack Bot Tokenの取得:

    • Slack API: Applications にアクセスし、新しいアプリを作成します。
    • Botユーザーを作成し、必要な権限(files:writechat:write)を付与します。
    • アプリをワークスペースにインストールし、Bot Tokenを取得します。
    • Botを対象のSlackチャンネルに招待します(例: /invite @your-bot-name)。
  2. Tableau Personal Access Tokenの取得:

    • Tableau ServerまたはTableau Cloudの設定で、Personal Access Tokenを作成します。
  3. config.jsonの編集:

    • config.json ファイルにTableau ServerまたはTableau CloudとSlackの認証情報を入力します。
{
  "tableau": {
    "server_url": "your_tableau_server_or_cloud_url",
    "personal_access_token_name": "your_personal_access_token_name",
    "personal_access_token": "your_personal_access_token",
    "site_id": "your_site_id"
  },
  "slack": {
    "slack_bot_token": "your_slack_bot_token",
    "slack_channel_id": "your_slack_channel_id"
  }
}

💻 必要な環境

このスクリプトを実行するには、以下の環境が必要です:

  • Tableau Server または Tableau Online アカウント
  • API トークンの生成
  • Python 3.6以上
  • Tableau Server Client ライブラリのインストール
  • SlackワークスペースとBotトークン

⚠️ 注意事項

  1. SSL証明書のインストール:
    • SlackにPDFファイルをアップロードする際、PythonのSSL証明書が必要です。特にmacOSユーザーは、Pythonの公式インストールに含まれている以下のコマンドを実行してSSL証明書をインストールしてください:
/Applications/Python\ 3.x/Install\ Certificates.command
  1. チャンネルIDの確認:

    • SlackチャンネルのIDを確認し、正しいチャンネルIDをconfig.jsonに記載してください。チャンネルIDは、SlackのチャンネルURLの末尾に表示される「C」で始まる文字列です。
  2. Botのチャンネル参加:

    • Botが対象のSlackチャンネルに参加していることを確認してください。参加していない場合、/invite @your-bot-nameコマンドを使用してBotをチャンネルに招待します。
  3. トークンの管理

    • このスクリプトを実行する際には、適切なAPIトークンとアクセス権限が必要です。APIトークンの管理には十分注意してください。

▶️ 実行方法

以下のコマンドを実行して必要なライブラリをインストールし、スクリプトを実行します:

pip install -r requirements.txt
python main.py

📦 必要なライブラリ

プロジェクトに必要なライブラリは requirements.txt ファイルに記載されています:

tableauserverclient
slack_sdk

🌟 機能

  • JSONファイルから設定情報を読み込みます。
  • Tableau ServerまたはTableau Cloudの認証にPersonalAccessTokenAuthを使用します。
  • 特定のタグが設定されたダッシュボードをPDFとしてエクスポートします。
  • データソースに接続できない、もしくは接続エラーのダッシュボードは無視します。
  • エクスポートしたPDFファイルを指定されたSlackチャンネルにアップロードします。

💡 ユースケース

このスクリプトは、さまざまなユースケースで活用できます。以下にいくつかの具体的な例を挙げます。

  1. 定期的なレポート共有:

    • 週次や月次の定期レポートとして、指定されたタグが付いた最新のダッシュボードをPDF形式でチーム全体に自動的に共有できます。これにより、関係者は最新のデータに基づいて迅速に意思決定を行うことができます。
  2. プロジェクトの進捗確認:

    • プロジェクトごとにタグを設定し、進捗状況を示すダッシュボードを自動的にSlackにアップロードすることで、プロジェクトチームが最新の状況を簡単に把握できます。
  3. パフォーマンス監視:

    • 業績やKPIを監視するためのダッシュボードを定期的に共有することで、マネージャーやエグゼクティブがリアルタイムでパフォーマンスを確認できるようになります。
  4. 部署間の情報共有:

    • 異なる部署間で必要なダッシュボードを共有することで、情報の透明性を高め、全体的な効率を向上させることができます。

📋 ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細については、LICENSEファイルを参照してください。

tableau-dashboard-expoter's People

Contributors

koga1983 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.