このページは役に立ちましたか?
はい いいえ

外部サービスに式を渡す

Tableau は、R、MATLAB、および Python との統合用の外部サービスに式を渡すために使用できる関数セットをサポートしています。Tableau は、次のサービスとの統合をサポートしています。

  • R

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

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

  • MATLAB

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

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

  • Python

    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 つの呼び出しを行います。

外部サービスへの接続にはオーバーヘッドが関係するため、可能な場合には、個別の値ではなく、ベクターとして値を渡します。たとえば、場所の指定を [セル] に設定 (たとえば、ビューのフィールドをクリックし、[次に沿って計算] > [セル] を選択) した場合、Tableau は外部サービスに対して行ごとに個別の呼び出しを行います。データのサイズによっては、外部サービスへの個別の呼び出しがかなりの数になる場合があります。代わりに詳細レベルで使用する各行を特定する列を使用する場合、Tableau が 1 つのセルでそれらの値を渡すことができるよう、その列に沿って計算できます。

外部サービス接続の構成

Tableau では、一連の SCRIPT 関数による外部サービスへの接続が許可されています。これらの外部サービスを使用するには、外部サーバーへの接続を確立する必要があります。現在 Rserve、MATLAB Server、および Python Server への接続がサポートされています。

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、および Rserver のバージョン 0.6-8 ~ 1.7.3 でテストされています。

外部サービス接続を構成するには:

  1. Tableau Desktop で [ヘルプ] メニューをクリックし、[設定とパフォーマンス] > [外部サービス接続の管理] を選択し、[外部サービス接続] ダイアログ ボックスを開きます。

    Example of External Service Connection dialog box set up for an Rserve connection.

  2. 接続する外部サービスのタイプを [RServe] または [TabPy/External API] のいずれかから指定します。[TabPy/External API] オプションは、TabPy および MATLAB への接続に対応します。

  3. ドメイン名または IP アドレスを使用してサーバーを入力または選択します。ドロップダウン リストには、最近接続した localhost とサーバー、および [無効] オプションが含まれています。

  4. ドメインまたは IP アドレスを使用してサーバー名を入力または選択します。ドロップダウン リストには最近接続した localhost とサーバーが含まれています。

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

    • ポート 6311 は プレーンテキスト Rserve サーバーの既定のポートです。

    • ポート 4912 は SSL 暗号化 Rserve サーバーの既定のポートです。

    • ポート 9004 は TabPy の既定のポートです。

  6. RServe のみ: サーバーで認証資格情報が必要な場合は、[ユーザー名およびパスワードを指定してサインイン] を選択して [ユーザー名] および [パスワード] フィールドを有効にします。これらのフィールドに認証資格情報を追加します。

    サーバーで SSL 暗号化を使用している場合は、[SSL が必須] オプションを選択します。[カスタム構成ファイル...] リンクをクリックして、接続に必要な証明書を指定します。

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

  8. [OK] をクリックします。

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

外部サービス接続が必要なワークブックの共有

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

外部サービス接続が必要なワークブックのパブリッシュ

外部サービス接続に依存するワークブックを Tableau Server にパブリッシュする前に、サーバーがスクリプトを実行できるように構成されていることを確認し、Tableau Server を構成して独自の外部サービス接続を確立する必要があります。

Tableau Server を構成してスクリプトを実行できるようにする

外部サービスの接続に依存しているワークブックをパブリッシュする場合は、サーバーがスクリプトを許可するように構成されていることを確認する必要があります。関連があるのは、次の 2 つの設定です。

  • vizqlserver.allow_insecure_scripts

    この設定によって、パブリッシュされたワークブックのすべての種類のスクリプト (initial sql, custom sql, script calcs) に反映されます。既定値は false です。true に設定すると、文字列パラメーター (Tableau パラメーターを参照するスクリプト) の実行が含まれるスクリプトが許可されます。Tableau パラメーターを参照するスクリプトによっては、潜在的なコード インジェクション攻撃による脆弱性が生まれる可能性があります。

  • vizqlserver.script.disabled

    このパラメーターによって、Tableau Server で実行できるワークブックから外部サービスを呼び出すかどうかを決定します。既定値は true です。この設定だとスクリプトが無効であるように見えますが、実際にはスクリプトを実行できることを意味します。スクリプトを実行できないようにするには、このパラメーターを false に設定します。このパラメータによってスクリプトを使用したワークブックのアップロード機能が影響を受けることはありません。影響を受けるのは、ワークブックをアップロードした後でスクリプト コマンドを実行する機能のみです。

Tableau Services Manager (TSM) コマンドライン ツールを使用してこれらの設定を構成します。詳細については、Tableau Server ヘルプの「tsm configuration」を参照してください。

外部サービス接続での Tableau Server の構成

tsm configuration set を使用して、外部サービス用に Tableau Server を構成します。設定は、[外部サービス接続] ダイアログ ボックスで設定した値に相当します。次のとおりです。

  • vizqlserver.extsvc.host

  • vizqlserver.extsvc.port

  • vizqlserver.extsvc.username

  • vizqlserver.extsvc.password

追加設定の vizqlserver.extsvc.connect_timeout_ms によって、Rserve への接続でタイムアウト値をミリ秒単位で延長できるようになります。サーバーが応答可能になる前に Tableau がタイムアウトになる場合は、この設定の値を増やしてください。

これらの設定の詳細については、Tableau Server ヘルプの「tsm configuration set オプション」を参照してください。

:Tableau 10.0 より前の外部サービス接続用に Tableau Server が構成されている場合、これらの設定の名前は異なります。設定 vizqlserver.extsvc は、vizqlserver.rserve の代わりとして Tableau Server 10.1 で導入されました。ただし、Tableau Server 10.1 には後方互換性があります。Tableau Server 10.1 では、vizqlserver.extsvc 設定が最初にチェックされますが、vizqlserver.extsvc 設定がない場合、Tableau Server は vizqlserver.rserve 設定をチェックします。

Tableau Desktop がユーザー名とパスワードを使用せずに Rserve に接続されている場合、設定 vizqlserver.extsvc.usernamevizqlserver.extsvc.password は省略されます。

上記の tsm configuration set オプションを使用して Tableau Server を構成する方法の詳細については、「コマンド ラインから Tableau Server の構成を変更する」を参照してください。

Tableau では外部サービスを使用するワークブックが Tableau Server に適切にレンダリングされることを確認できません。必須の統計ライブラリがユーザーのマシン上で使用できるが Tableau Server が使用している外部サービス インスタンス上では使用できない場合があります。

スクリプトのエラーが原因で Tableau Server にレンダリングできないビューについては、ワークブックをパブリッシュする際に警告エラーが表示されます。

このワークシートには外部サービス スクリプトが含まれており、管理者が外部サービス接続を構成するまでターゲット プラットフォーム上では表示できません。

外部サービス スクリプトを含むワークブックは Tableau Online にパブリッシュできません。

Tableau Server は認証機構を提供しているため、Tableau Desktop より Tableau Server の方がより安全に外部サービス機能をユーザーに表示できます。