Skip to main content

Tableau で自動化して統合する

学習の目的

この単元を完了すると、次のことができるようになります。

  • Tableau REST API を使用して Tableau のサーバー、サイト、ワークブック、パーミッション、その他の要素を管理する方法を説明する。
  • Tableau Server クライアントライブラリを使用して Python の REST API コールを統合する方法を説明する。
  • Webhook を介してカスタムプロセスをトリガーするために Tableau イベントを使用する方法を説明する。

簡単な方法で行う

タスクの自動化は、時間と労力を節約する効果的な手段です。Tableau では、インストール、構成、サイト管理のタスクを自動化できます。また、ワークブック、データソース、ユーザーなどの Tableau Server コンテンツをプログラムで管理することもできます。以下の API とツールが役立ちます。

  • Tableau REST API: HTTP を使用して、Tableau Server または Tableau Cloud のリソースをプログラムで管理したり変更したりします。Tableau Server 上のデータソース、プロジェクト、ワークブック、サイトユーザー、サイトのバックグラウンド機能にアクセスして、独自のカスタムアプリケーションを作成したり、操作をスクリプト化したりできます。
  • Tableau Server Client (TSC): Tableau REST API 用の Python ライブラリを使用して、Tableau Server または Tableau Cloud のリソースを管理したり変更したりします。
  • Webhook: Tableau でイベントが発生した場合、HTTP や JSON などの標準の Web テクノロジーを使用して通知を送信したり、ワークフローをトリガーしたりします。
  • メタデータ API: Tableau Server または Tableau Cloud サイトのコンテンツを検出してインデックスを作成し、コンテンツで使用されるすべてのデータベース、ファイル、テーブルを特定します。
  • Hyper API: Tableau 抽出 (.hyper) ファイルの操作を自動化します。この API を使用して、新しい抽出ファイルを作成、または既存のファイルを開いて、そのファイルからデータを挿入、削除、更新、読み取ることができます。
  • Tableau Services Manager (TSM): Tableau Server のインストールと構成を管理します。
  • tabcmd コマンドラインユーティリティ: Tableau Server または Tableau Cloud サイトでのサイト管理タスクを自動化します。たとえば、ユーザー、プロジェクト、グループの作成や削除です。

自動化と統合のカテゴリが強調表示された、Tableau 開発者ツールを示す図。

Tableau REST API を使用してユーザーを追加する

Main Stage Analytics では、Tableau を採用したことから、すべての新しい従業員に Tableau ライセンスを付与することになりました。ここで、重要な役割を担う Jamie を紹介します。Main Stage Analytics の Tableau Server 管理者をしています。Jamie のチームは、Tableau ユーザーインターフェースを使用して、新しい従業員のライセンスを手動で追加する必要があります。これは時間がかかる作業です。Jamie が Web で検索をすると、Tableau REST API には、ユーザーを追加するのに Tableau UI ではなく簡単なスクリプトを使用するなど、さまざまなタスクを自動化する多数の方法があることがわかりました。この API を使用して、データソース、プロジェクト、ワークブック、サイトユーザー、サイトのバックグラウンド機能にアクセスできます。Jamie は、面倒なタスクを自動化できることがわかり喜んでいます。 

Tableau Server クライアントを使用して REST API コールを統合する

Jamie のチームは、便利ではあるが、解決するのに時間がかかる小さなエラーを犯しやすいことに気づきました。Jamie は、この問題についてソフトウェアエンジニアである同僚の Marie と話し合います。Marie は、Tableau REST API 用の Python ライブラリである Tableau Server Client (TSC) を使用すると、Tableau REST API コールを既存のプロセスに簡単に統合できると言います。クライアントをコールする数行のコードを追加することで、REST API の "add user" コールを既存の新規採用者プロビジョニングスクリプトに統合できます。Jamie は小躍りします。新しい従業員のライセンスが自動的に付与されるようになるだけでなく、Jamie のチームに何の影響もないからです。

Webhook を使用して Tableau イベントでメッセージをトリガーする

一方、Jamie は、データソースの更新エラーをチームが迅速に認識できていないことを知ります。更新が失敗するたびにメールが届きますが、メッセージングアプリケーションで通知を受け取る方が便利です。失敗のたびにチームのメッセージングアプリケーションチャネルにメッセージを送信する Webhook を追加できます。Webhook を使用すると、Slack などの他のサービスで、Tableau で発生する抽出更新エラーなどのイベントに応答できます。Marie の助けを借りて Webhook を実装したことで、Jamie のチームは失敗した更新をすぐにやり直せるようになり、関係者からの苦情も大幅に減ります。

メタデータ API を使用して Tableau 展開に関する情報を収集する

Main Stage Analytics では Tableau の採用が広がっています。それは、コンテンツを作成するユーザーが増えるだけでなく、Tableau のワークブックやデータソースも増えているということです。Tableau ユーザーは計算をその場で簡単に作成できることを気に入っていますが、Jamie のチームは、ユーザーが計算を削除したり、わかりやすい名前に変更したりすることを疎かにしがちであることに気づきました。たとえば、「計算 1」という計算が何個もあると、他のユーザーは計算 1 が何のための計算なのか (利益、割引、または他の何か) を知りようがありません。チームのメンバーでさえわかっていません。計算を作成したユーザーに計算の名前を変更してもらうか、不要であれば削除してもらう必要があります。チームは、Tableau メタデータ API を使用して、紛らわしい名前の計算をすべて見つけ出し、計算の名前を変更するように依頼するメールを計算の所有者に送信することにしました。 

メタデータ API を使用すると、Tableau 上のリソースと、それらが他のアセットとどのように関連しているかを照会できます。これを使用して、次のことができます。

  • Tableau にパブリッシュされたコンテンツに関連付けられているデータを検出する。
  • データソースと Webhook、テーブルやファイルなど、コンテンツと外部アセットの系列または関係を追跡する。
  • インパクト分析を実行する。アップストリームとダウンストリームの系列情報を使用して、コンテンツに対する変更のインパクトを評価できます。

Tableau Hyper API を使用して ETL ツールを統合する

Tableau を使用する前に、Main Stage Analytics の一部のチームは、抽出、加工、読み込み (ETL) ツールを使用してデータソースをクリーンアップします。データの準備ができたら、データを Tableau にプッシュできるようにしたいと考えています。これを行うお気に入りの方法は、Tableau Hyper API を使用して Tableau Hyper ファイル (.hyper) を作成することです。Hyper API を使用すると、ETL プロセスを自動化し、ローリングウィンドウ更新とカスタム増分更新を実装できます。チームは Tableau REST API と Tableau Server Client (TSC) を使用して、.hyper ファイルを Tableau Server と Tableau Cloud にパブリッシュできます。

Tableau Hyper API では、新しい抽出ファイルを作成し、データアクセスとパフォーマンスを向上させることができます。また、既存のファイルを開いて、そのファイルからデータを挿入、削除、更新、読み取ることもできます。Hyper API を使用して、開発者と管理者は次のことができます。  

  • Tableau で現在サポートされていないデータソースの抽出ファイルを作成する。
  • 特別なコードを記述することなく、CSV ファイルからデータをすばやく直接読み込む。
  • SQL の機能を使用して、.hyper ファイル内のデータを操作する。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む