分析拡張機能を使用した式の受け渡し

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

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

分析拡張機能の構成

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

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

    tabpy、Einstein Discovery、Rserve、Analytics Extension API などの可能な接続タイプのダイアログ

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

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

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

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

  4. ポートを指定します。
    • ポート 6311 は、プレーンテキスト Rserve サーバーのデフォルトのポートです。
    • ポート 4912 は、SSL 暗号化 Rserve サーバーのデフォルトのポートです。
    • ポート 9004 は、TabPy のデフォルトのポートです。
  5. [テスト接続] をクリックします。
  6. [保存] をクリックします。

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

Web 作成で分析の拡張機能を構成する

Tableau Cloud Web 作成を使用するときは、[分析] > [分析の拡張機能] > [Manage Connection... (接続の管理...)] を選択します。

作成する接続のタイプを選択してから、必要な接続情報を入力します。

tabpy の接続編集ダイアログ

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

分析の拡張機能を使用するには、[分析] > [分析の拡張機能] > [カスタム関数エクスプローラー...] を選択してから、ワークブックで使用する分析の拡張機能を選択します。ワークブックごとに使用できる分析拡張機能は 1 つだけです。

[Analytics Extensions Connections (分析の拡張機能の接続]) ダイアログで tabpy 接続が選択されているところ

式のための SCRIPT 関数

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

  • SCRIPT_BOOL
  • SCRIPT_INT
  • SCRIPT_REAL
  • SCRIPT_STR

詳細と例については、SCRIPT_ 関数を参照してください。

分析拡張機能への接続にはネットワークのオーバーヘッドが伴うため、可能な場合には常に、個別の行の値としてではなく、データを一度に渡すほうが効率的です。たとえば、方向の指定を [セル] に設定した場合 (たとえば、ビューのフィールドをクリックし、[次に沿って計算] > [セル] を選択した場合)、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 からモデルに渡される値。

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

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

TabPy

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

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

デプロイされたモデル用のカスタム関数エクスプローラー

デプロイされたモデルには、説明、取り得る引数の種類、出力の内容などのドキュメントを含むスキーマ情報が含まれることがあります。カスタム関数エクスプローラーは、そのスキーマを読み取り、モデルを使用するユーザーのためにポイントインタイムのドキュメントを提供することができます。

たとえば、次のようなデプロイされたモデル translateToEnglish (英語への翻訳) があるとします。

"translateToEnglish": {
			"description": "Translates a given input to English",
			"type": "model",
			"version": 2,
			"dependencies": [],
			"target": null,
			"creation_time": 1726765000,
			"last_modified_time": 1726777904,
			"schema": "{'input': {'type': 'object', 
				'properties': {'phrase': {'type': 'string', 'description': 'phrase which we would like to translate'}}, 
				'required': ['phrase']}, 
				'sample': {'phrase': 'Danke'}, 
				'output': {'type': 'string', 'description': 'translated phrase'}}",
		"is_public": true

カスタム関数エクスプローラーにはその情報が表示され、モデルの目的と、データを取り込むために更新する必要があるものが正確にユーザーに示されます。

デプロイされたモデルの説明、入力、出力、構文を表示するカスタム関数エクスプローラー

カスタム関数エクスプローラーを使用する

現在の構成に応じて、次の手順の一部またはすべてを実行する必要があります。

  1. TabPy サーバーをデプロイします。詳細については、「GitHub 上の TabPy ドキュメント」(新しいウィンドウでリンクが開く)を参照してください。
  2. デプロイされたモデルを使用して Tabpy サーバーを起動します。
  3. Tableau で、分析の拡張機能の接続をオンにします。
    • Tableau Desktop の場合: [ヘルプ] メニュー > [設定とパフォーマンス] > [Manage Analytics Extension Connection… (分析の拡張機能接続の管理…)]
    • Web の場合: [分析] > [分析の拡張機能] > [カスタム関数エクスプローラー]
  4. ホスト名ポートを入力します。

ワークブックにデータ接続が設定され、実行中の TabPy インスタンスに分析拡張機能が接続されたら、カスタム関数エクスプローラーを使用できます。

  1. データ ソースが接続されたワークシートで、[分析] メニュー > [分析の拡張機能のカスタム関数エクスプローラー] に移動します (Web の場合: [分析] > [分析の拡張機能] > [カスタム関数エクスプローラー...])。
  2. 希望するものを選択して、[クリップボードにコピー] ボタンをクリックします。
    • パラメーターが is_public=True であるモデルのみリストに表示されます。このパラメーターは、既定では False です。 is_public=False のモデルは、モデルの拡張機能計算として使用することは可能ですが、カスタム関数エクスプローラーには表示されません。
    • カスタム関数エクスプローラーが空の場合、または使用したいデプロイされたモデルが見つからない場合は、is_public がデプロイされたモデルで True に設定されているか確認します。詳細については、「GitHub 上の TabPy ドキュメント」(新しいウィンドウでリンクが開く)を参照してください。
    • デプロイされたモデルにスキーマがない場合、カスタム関数エクスプローラーはあまり役に立ちませんが、[クリップボードにコピー] オプションは使用できます。
  3. 新しい計算を作成し、関数として、クリップボードにコピーした構文を貼り付けます。
  4. InputFiled (入力フィールド) のプレースホルダーを、モデルで使用したいデータ ソース内のフィールドに置き換えます。
    • すべての表計算と同様に、入力を集計する必要があることに注意してください。文字列の場合、MIN、MAX、ATTR を集計として使用できます。

Einstein Discovery

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

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

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

Tableau への Einstein Discovery モデルの統合

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

: Model Manager によって生成されたスクリプトにオプションで追加のパラメーターを含めて、表計算または Tableau テーブル拡張機能で使用することができます。詳細については、「Model Manager によって生成されたスクリプトへのオプション パラメーターの追加」を参照してください。

計算への予測の埋め込み

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

    「時間どおりの配達を最大化」という名前のモデルの予測設定。コンテキスト メニューが展開され、[Tableau 表計算の作成] オプションが表示されています。

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

    コード スニペットを含む Tableau 表計算ウィンドウ。

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

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

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

    時間どおりの配達の予測モデルを定義するスクリプトを表示するコード スニペット。

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

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

Tableau テーブル拡張機能への予測の埋め込み

Model Manager によって生成されたスクリプトを使用して、Tableau テーブル拡張機能を作成することもできます。Model Manager によって生成されたスクリプトをテーブル拡張機能で使用するには、スクリプトの SCRIPT_REAL 部分を削除し、中かっこの中にある要求本文のみを含めます。

Model Manager によって生成されたスクリプトへのオプション パラメーターの追加

Model Manager によって生成されたスクリプトに、オプションで追加のパラメーターを含めることができます。これらのパラメーターは完全にオプションです。スクリプトはパラメーターの有無にかかわらず機能します。これらのオプションのパラメーターは、計算フィールドまたはテーブル拡張機能で使用できます。

オプションのパラメーター

構文

説明
maxMiddleValues"maxMiddleValues": integer

応答で返す上位の予測子の数を指定します。

整数を設定します。

回帰モデルおよび二項分類モデルでのみ使用できます。

maxPrescriptions"maxPrescriptions": integer

応答で返す改善の最大数を指定します。

整数を設定します。

回帰モデルおよび二項分類モデルでのみ使用できます。

showMultiClassProbabilities"showMultiClassProbabilities": boolean

マルチクラス分類モデルで確率を表示するかどうかを選択します。

true または false を設定します。

マルチクラス分類モデルでのみ使用できます。

次のスクリプト例は、計算フィールドのスクリプトでこれらのオプション パラメーターを使用する方法を示しています。

SCRIPT_REAL(
'{ "modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false }',
SUM([Postal Code]), ATTR([City]), ATTR([Ship Mode]), SUM([Row ID]), SUM([Profit]), ATTR([Category]), ATTR([Sub-Category]), ATTR([Order Date]), SUM([Quantity]), ATTR([Ship Date]), ATTR([Region]), SUM([Sales]), ATTR([State]), ATTR([Segment])
)

Einstein Discovery 予測モデルのスクリプトを、分析拡張機能として Tableau 計算に追加した SCRIPT_REAL 関数の例。オプションのパラメーターを使用していることを示しています。

次の例は、このスクリプトをテーブル拡張機能で使用する方法を示しています。テーブル拡張機能の場合は、中かっこ内にスクリプトのみを含めます。中かっこの外側に SCRIPT_REAL 関数と属性を含めないでください。

{
"modelOrPredictionDefinitionId": "1ORB0000000HC3KOAW",
"columns": ["Postal_Code", "City", "Ship_Mode", "Row_ID", "Profit", "Category", "Sub_Category", "Order_Date", "Quantity", "Ship_Date", "Region", "Sales", "State", "Segment"],
"maxMiddleValues": 3,
"maxPrescriptions": 5,
"showMultiClassProbabilities": false
}

オプション パラメーターを使用していることを示す、Tableau テーブル拡張機能に追加された Einstein Discovery 予測モデルのスクリプトの例

RServe

R は、オープン ソース ソフトウェア プログラミング言語であり、統計的計算やグラフィック向けのソフトウェア環境です。

RServe 接続の実装

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

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

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

注: ユーザーは Tableau Desktop を Rserve に接続するために Tableau Server を使用する必要はありません。

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 で使用する)」(新しいウィンドウでリンクが開く)を参照してください。

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

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

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

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

ワークブックにコネクタが選択されていない場合に表示される警告メッセージ。