Tableau では、分析の拡張機能に式を渡すために使用できる一連の関数がサポートされているため、Einstein Discovery、RServe、MATLAB、Python などと統合することができます。以前は、この機能を「外部サービス」と呼んでいました。バージョン 2020.1 以降は、この機能を分析拡張機能と呼んでいます。

バージョン 2021.2 以降、どのサイトでも複数の分析拡張機能の接続を作成できるようになりました。2021.2 より前のバージョンでは、どのサイトも単一の分析拡張機能に制限されています。

注: Einstein Discovery の分析拡張機能はサイトごとに 1 つに制限されています。分析拡張機能の構成については、「分析拡張機能を使用した接続の構成(新しいウィンドウでリンクが開く)」(Tableau Online ヘルプ) または「分析拡張機能を使用した接続の構成(新しいウィンドウでリンクが開く)」(Tableau Server ヘルプ) を参照してください。

分析拡張機能への接続を作成すると、計算フィールドを介して外部のサービスと通信できるようになります。各計算フィールドは式のための SCRIPT 関数を使用し、表計算として機能します。

分析拡張機能の構成

Tableau では、一連の SCRIPT 関数を使用して分析拡張機能に接続することができます。SCRIPT 関数を分析の拡張機能に渡すには、まずサービスへの接続を構成する必要があります。

  1. Tableau Desktop で、[ヘルプ] メニューをクリックし、[設定とパフォーマンス] > [分析拡張機能の接続の管理] の順に選択します。

    接続する分析の拡張機能を選択します。MATLAB 接続は、分析拡張機能の API で管理します。

  2. 分析サービスを選択して構成します。

    • Einstein Discovery を使用する場合は、[有効] を選択します。デフォルトのブラウザーが開き、Salesforce への接続を認証できるようになります。接続したら、このヘルプ トピックの Einstein Discovery のセクションに移動して手順を続けます。
    • Tabpy、Matlab、RServ などのその他のサービスでは、次のダイアログが表示されます。
  3. ドメインまたは IP アドレスを使用してサーバー名を入力または選択します。

    サーバーで SSL 暗号化を使用している場合は、[SSL が必須] オプションを選択します。Tableau は、オペレーティング システムのキー ストアにインストールされている証明書を読み取り、セキュリティで保護された接続を確立します。

    : TabPy または RServe への接続で Tableau がサポートしている証明書は、PEM で暗号化された証明書のみです。

  4. ポートを指定します。

    • ポート 6311 は プレーンテキスト Rserve サーバーのデフォルトのポートです。

    • ポート 4912 は SSL 暗号化 Rserve サーバーのデフォルトのポートです。

    • ポート 9004 は TabPy のデフォルトのポートです。

  5. [テスト接続] をクリックします。

  6. [保存] をクリックします。

接続を確立できない場合はエラー メッセージが表示されます。メッセージ内の [詳細を表示] をクリックして、サーバーによって返される診断情報を参照します。

Web 作成での分析拡張機能の使用

Web 作成を使用してワークブックを作成または編集する場合は、[分析] > [Manage Analytics Extension Connections (分析拡張機能接続の管理)] を選択し、ワークブックに使用する分析拡張機能を選択します。ワークブックごとに使用できる分析拡張機能は 1 つだけです。

Tableau Online または Tableau Server での分析拡張機能の設定については、以下のリンクを参照してください。

Einstein Discovery

Einstein Discovery は、機械学習を利用してインサイトと予測を提供する、Salesforce の強力な分析ツールです。Einstein Discovery には、Einstein Analytics Plus ライセンス、Tableau CRM Plus ライセンス、または Einstein Predictions ライセンスが必要です。これらは追加料金で利用できます。詳細については、「アクセス要件」を参照してください。

Einstein Discovery の詳細については、Salesforce ヘルプの「Discovery を使い始める(新しいウィンドウでリンクが開く)」と「Einstein Discovery を使用した説明、予測、アクション(新しいウィンドウでリンクが開く)」を参照してください。知識をさらに広げるには、「トレイルヘッド(新しいウィンドウでリンクが開く)」のトレイル「Einstein Discovery 使用したインサイトの獲得(新しいウィンドウでリンクが開く)」を参照してください。

: Tableau の Einstein Discovery は、salesforce.com(新しいウィンドウでリンクが開く) によって提供されます。適用条件については、salesforce.com(新しいウィンドウでリンクが開く) との契約を参照してください。

Tableau への Einstein Discovery モデルの統合

Tableau を Einstein Discovery の分析拡張機能に接続すると、計算フィールドに予測を直接埋め込むことができます。Salesforce で Model Manager を使用して Tableau の表計算スクリプトを自動生成し、そのスクリプトを計算フィールドに貼り付けて Tableau ワークブックで使用できるようにします。表計算スクリプトは、Salesforce に導入された予測モデルに対して、予測 ID を呼び出して必要なデータを渡すことによりアクセスします。

  1. Einstein Discovery の Salesforce アカウントを開き、Model Manager に移動します。Tableau に統合するモデルを選択します。モデルのタブで、[設定の編集] > [Tableau 表計算の作成] を選択します。

    Model Manager は、使用する予測定義の ID、モデルで使用するフィールド (変数)、および対応する Tableau のソース フィールドを含むスクリプトを生成します。

  2. [クリップボードにコピー] をクリックします。

  3. Tableau ワークブックで、[分析] > [計算フィールドの作成] を選択し、生成されたスクリプトを計算エディターに貼り付けます。

    モデルをトレーニングした Salesforce データセットとフィールド名が異なる場合、そのフィールドには赤い下線が表示されます。Tableau の正しいフィールド名と一致するように、これらのフィールド名を編集する必要があります。

    各 ATTR または SUM 関数のフィールド名を、Tableau データの一致するフィールドの名前に置き換えてから、計算フィールドを保存します。

    この計算は、他の Tableau 計算と同じように使用できます。詳細については、以下の「式のための SCRIPT 関数」を参照してください。

    スクリプトが実行されると、入力データを含む予測要求が Salesforce の予測定義に送信されます。Einstein Discovery から Tableau に結果が返され、ワークシートまたはダッシュボードに表示されます。

RServe

R とはオープン ソース ソフトウェア プログラミング言語のことで、統計的計算およびグラフィックに適したソフトウェア環境です。

ビデオを視聴する: Tableau での関連する概念について説明した無料トレーニング ビデオ「R と Tableau の統合方法 (英語)」(新しいウィンドウでリンクが開く)(4 分 40 秒) および「Tableau での R の使用 (英語)」(新しいウィンドウでリンクが開く)(4 分 44 秒) をご覧ください。.お使いの tableau.com(新しいウィンドウでリンクが開く) アカウントを使用してサインインします。

RServe 接続の実装

R の場合は、アプリケーションによる R 機能へのアクセスが可能なサーバーに接続できる必要があります。詳細については、「Rserve」(新しいウィンドウでリンクが開く)を参照してください。RServe のインストール、実行、構成、および R スクリプトや R セキュリティの最適化の詳細については、Tableau コミュニティの投稿「R 実装ノート」(新しいウィンドウでリンクが開く)を参照してください。Tableau での R の使用の詳細については、ブログ記事「Tableau 8.1 および R」(新しいウィンドウでリンクが開く)を参照してください。

Tableau Desktop は、プレーンテキストまたは SSL 暗号化トラフィックのいずれかを経由して R に接続できます。使用するタイプについては、システム管理者にお問い合わせください。

: R 統合用に、Tableau は R のバージョン 3.4.4 から 3.5.1、および Rserve のバージョン 0.6-8 から 1.7.3 でテスト済みです。

RServe 分析拡張機能の中間証明書チェーン

Tableau Server バージョン 2020.1 では、Tableau Server 経由で Rserve 外部接続に接続している Tableau Desktop コンピューター (Windows と Mac) に完全な証明書チェーンをインストールする必要があります。この要件は、Rserve がセキュア接続でハンドシェイクを管理する方法が原因です。

Tableau Desktop にルート証明書をインポートするだけでは不十分であり、証明書チェーン全体をクライアント コンピューターにインポートする必要があります。

MATLAB

MATLAB は、分析拡張機能の API を介して接続できる高級言語であり、計算量の多いタスクを C、C++、Fortran などの従来のプログラミング言語よりも高速に実行できます。信号および画像処理、通信、制御設計、テストと測定、財務モデリングと分析、計算生物学などの広範な用途で MATLAB を使用できます。Tableau と連携するように MATLAB サーバーを構成する方法については、MATLAB サポートにお問い合わせください。

Tableau での MATLAB の可能性の詳細については、「Put your MATLAB models and algorithms to work in Tableau (MATLAB モデルおよびアルゴリズムを Tableau で使用する)」(新しいウィンドウでリンクが開く)を参照してください。

TabPy

Python は幅広く使用される高水準のプログラミング言語で、汎用プログラミングに最適です。Python コマンドを分析拡張機能に送信することで、顧客離れの予測やセンチメント分析などを実行できます。

Tableau Python Server (TabPy) は、Tableau の拡張性オプションの範囲を拡張するのに不可欠です。TabPy をインストールするには、こちらの GitHub ページ(新しいウィンドウでリンクが開く)にアクセスします。Tableau での Python の可能性の詳細については、「TabPy を使用した高度な分析アプリケーションの構築」(新しいウィンドウでリンクが開く)を参照してください。

式のための SCRIPT 関数

Tableau Desktop では、分析拡張機能に式を渡して結果を取得するために 4 種類の SCRIPT 関数を使用できます。関数は次のとおりです。

SCRIPT_BOOL

SCRIPT_INT

SCRIPT_REAL

SCRIPT_STR

詳細と例についてはSCRIPT_BOOLを参照してください。

これらの SCRIPT 関数は表計算であるため、方向の指定とパーティションの概念が適用されます。(これらの概念の説明については、基本: 方向の指定と区分の指定を参照してください。)Tableau は区分ごとに分析拡張機能へ 1 つの呼び出しを行います。つまり、計算が区分されているディメンションごとに、ビジュアライゼーションに存在するそのディメンションのすべてのメンバーに対して 1 つの呼び出しが行われるということです。このため、区分が必要でない限り、方向の指定にディメンションを配置することをお勧めします。

分析拡張機能への接続にはネットワークのオーバーヘッドが伴うため、可能な場合には常に、個別の行の値としてではなく、データを一度に渡すほうが効率的です。たとえば、方向の指定を [セル] に設定した場合 (たとえば、ビューのフィールドをクリックし、[次に沿って計算] > [セル] を選択した場合)、Tableau は分析拡張機能に対して行ごとに個別の呼び出しを行います。この行は、ビジュアライゼーションのマークごとに作成されたものです。データのサイズによっては、これにより非常に多くの個別の呼び出しが発生する可能性があります。

分析拡張機能を効率的に呼び出す最も簡単な方法は、[表計算の編集] に移動して [特定のディメンション] を選択し、各ディメンションの横にあるチェック ボックスをオンにして、そのディメンションの方向を指定することです。これにより、生成される分析拡張機能の呼び出しは、ビジュアライゼーション全体に対して 1 つだけになります。チェックされていないディメンションはパーティション化され、ビジュアライゼーションの要素ごとに個別の呼び出しが生成されます。ビジュアライゼーションに多くのマークがある場合は、計算が適切に処理される前に頻繁に実行されないように、ディメンションを選択するときに [自動更新の一時停止] を選択しておくと便利です。

計算フィールドを編集し、右下隅にある [デフォルトの表計算] オプションを選択すると、デフォルトで特定のディメンションの方向を指定するように計算を設定できます。[次を使用して計算] メニューで [詳細] を選択し、[方向の指定] の下の右側のスペースに望みのディメンションを移動します。この結果、方向を指定したすべてのディメンションがビジュアライゼーションに存在しない場合、計算エラーが発生することに注意が必要です。ただし、上記のように表計算を編集し、存在しないディメンションのチェックを外すことで修正できます。

外部分析モデルに対して直接クエリを実行する

4 つの一連の関数は、分析の拡張機能で展開されたモデルに対して直接クエリを実行できます。これにより、スクリプト関数に長い計算を書き込む必要がなくなります。これらを総称して MODEL_EXTENSION 関数と呼びます。上記のスクリプト関数と同様に、次の 4 つの反復があります。

MODEL_EXTENSION_BOOL

MODEL_EXTENSION_INT

MODEL_EXTENSION_REAL

MODEL_EXTENSION_STR

4 つの関数は、返す値だけが異なります。たとえば、MODEL_EXTENSION_BOOL 関数はブール値を返します。MODEL_EXTENSION 関数を使用するには、外部分析サービスにモデルを展開する必要があり、外部分析サービスは、そのモデルに対してクエリが直接実行されることを許可する必要があります。

: 現在は、TabPy モデルのみが MODEL_EXTENSION 関数をサポートしています。

MODEL_EXTENSION 関数の一部

A- 呼び出しているモデル。モデル名は、展開されているモデルと一致する必要があります。

B- モデルの入力。管理者に問い合わせて、使用しているモデルで期待される入力を確認してください。

C- Tableau からモデルに渡される値。

: 値は、入力のデータ型と順序と一致する必要があります。たとえば、モデルが入力として整数、文字列、および日付を期待している場合、計算では Tableau からの整数、文字列、および日付をこの順序で使用する必要があります。

詳細と例については、「表計算関数」を参照してください。

これらの SCRIPT 関数は表計算であるため、方向の指定とパーティションの概念が適用されます。(これらの概念の説明については、基本: 方向の指定と区分の指定を参照してください。)Tableau は区分ごとに分析拡張機能へ 1 つの呼び出しを行います。つまり、計算が区分されているディメンションごとに、ビジュアライゼーションに存在するそのディメンションのすべてのメンバーに対して 1 つの呼び出しが行われるということです。このため、区分が必要でない限り、方向の指定にディメンションを配置することをお勧めします。

分析拡張機能接続が必要なワークブックの共有

分析拡張機能を含むワークブックを他のユーザーに送信する必要が生じる場合があります。このユーザーは他のコンピューター上で Tableau Desktop の異なるコピーを使用している可能性があります。または、ユーザーが分析拡張機能を含む Tableau Server からワークブックをダウンロードする可能性があります。ワークブックを他のユーザーと共有する場合は、そのユーザーのコンピューターで分析拡張機能接続を構成する必要があります。

分析拡張機能接続が必要なワークブックのパブリッシュ

分析拡張機能接続に依存するワークブックを Tableau Server または Tableau Online にパブリッシュする前に、Tableau Server または Tableau Online を構成して独自の分析拡張機能接続を確立する必要があります。

パブリッシュが正常に完了したら、ワークブックに関連付ける構成済みの分析拡張機能を選択する必要があります。

ありがとうございます!