解析拡張接続のトラブルシューティング

このトピックでは、Tableau が外部解析拡張サービスに接続する際に受け取る可能性のあるエラーについて説明します。

注: Tableau テクニカル サポートでは、外部スクリプトの記述、トラブルシューティング、またはデバッグはサポートできません。

任意の解析拡張との通信時に発生する可能性のあるエラー

エラー メッセージコメント
サポートされていないタイプが引数として SCRIPT 関数に渡されました。

Tableau では以下の Tableau データ型のみを R にエクスポートできます。

  • Number (小数)

  • Number (整数)

  • ブール値

  • 文字列

  • 日付

  • 日付/時刻

SCRIPT 関数によって返された予期しない数の結果。関数は %2 の値を返す予定でしたが、%1 の値が返されました。スクリプトの結果はすべての行に対して複製されている長さ 1 のスカラーまたはベクトルであるか、Tableau の結果の表にある行の数に等しい長さのベクトルである必要があります。
証明書ファイルは指定された接続 (%1 %2:%3) で有効ではありません。サーバーとクライアントの両方で同じ証明書が使用されていること、証明書ファイルが破損していないこと、また日付が有効であることを確認してください。外部サービスへの接続に使用する証明書が正しくエンコードおよび書式設定されていることを確認します。拡張子 .crt が付いた有効な PEM 暗号化 x509 証明書を使用して接続する必要があります。
SCRIPT 関数により返される結果が、予期された長さではありません。

無効なデータ型を受け取る際に発生します。Tableau では以下のデータ型のみを Rserve サーバーからインポートできます。

  • RDouble

  • RInteger

  • RLogical

  • RCharacter

TabPy では、Tableau は以下のデータ型をインポートできます。

  • 浮動小数点数のリスト

  • 整数のリスト

  • ブール値のリスト

  • 文字列のリスト

このエラーは、結果が NULL の場合、または Tableau が外部サーバーからの説明を収集できないためにスクリプト実行エラーがあった場合にも報告されます。

外部サービスとの通信中にエラーが発生しました。Tableau はすべての外部スクリプトを "try" 外部関数。このエラーは、“try” 関数が評価エラーを補足する際に外部サービスが生成したエラー メッセージとともに表示されます。
この外部サービス接続は、認証をサポートしていません。パスワードを指定せずに接続をしてみてください。 
認証に失敗しました。有効な外部サービスのユーザー名およびパスワードを指定してください。 
サポートされていない認証タイプが外部サービスでは有効です。外部サービス認証を無効にするか、プレーンテキスト パスワード認証に変更します。
設定されている外部サービス接続はありません。サーバー名を指定し、再試行してください。分析拡張機能を使用した式の受け渡しを参照してください。
計算 '%1' に、内部サービス接続を必要とする SCRIPT_ 関数が含まれています。外部サービス接続を構成し、カスタム スクリプトを有効にします。分析拡張機能を使用した式の受け渡しを参照してください。
パブリッシュしようとしているワークブックには、外部サービス接続を必要とする SCRIPT_ 関数が含まれています。パブリック ワークブックではカスタム スクリプトは許可されていません。外部サービス スクリプトを含むワークブックは Tableau Public にパブリッシュできません。
Tableau Public は外部サービスが必要なカスタム スクリプトの実行をサポートしていません。外部サービスを利用するには、Tableau Desktop Professional Edition にアップグレードしてください。"このエラーにおける Tableau Public" については Tableau Desktop Public を参照してください。
Tableau Reader では外部サービスが必要なカスタム スクリプトの実行がサポートされていません。外部サービスを利用するには、Tableau Desktop Professional Edition にアップグレードしてください。Tableau Reader では外部サービス スクリプトを含むワークブックを表示できません。

Rserve サーバーで発生する可能性のあるエラー

エラー メッセージコメント
Rserve の署名を認識できません。Rserve ヘッダーの署名は "Rsrv" である必要があります。
Rserve のバージョンを認識できません。Rserve ヘッダーのバージョンは "0103" である必要があります。
Rserve のプロトコルを認識できません。Rserve ヘッダーのプロトコルは "QAP1" である必要があります。
R への接続時に認証に失敗しました。Tableau は Rserve を使用して認証しようとしましたが失敗しました。有効なパスワードが入力されていることを確認してください。
パラメーター/本文のバイト数が間違っています。 
Tableau が読み取るデータの長さが、ヘッダーによって約束された長さと等しくなりません。 
応答型を認識できません。結果を読み取る際のトランスポート プロトコル タイプが予想どおりに SEXP ではありませんでした。
非常に長い <型> のベクトル。破損したプロトコル ヘッダーを示す可能性のある Rserve との間で送受信するデータの長さを測定する不当に多い数です。
無効な Rserve コマンド。Tableau が Rserve プロトコルを不適切に実装している可能性があります。
サーバーからの応答がエラー "<< (uint32_t)status << " でした。詳細については、Rsrv.h を参照してください。さまざまなエラー状態については、Rsrv.h 内のコメントで文書化されています。
非常に長いヘッダーのオフセット。これは、応答データに対して不適切なオフセットを持つ文字化けしているヘッダーにより発生する可能性があります。
Rserve ソケット操作に失敗しました。ログイン、スクリプト評価、読み取り保留中の確認、または R スクリプトの引数の割り当てへの Tableau フィールドが標準以外の例外をスローしました。
外部サービスは、サポートされていない認証タイプを使用します。Rserve インスタンスへの SSL が有効化された接続とプレーンテキスト接続の両方の実行をサポートするには、Rserve サーバー管理者が Rserve サーバーの Rserve 構成ファイルに次のエントリを追加する必要があります。

plaintext enable

暗号システム エラーが RServe で発生しました。エラーが RServe の暗号化システムで発生しました。RServe ログで詳細を確認してください。
セキュリティ違反が発生したため、RServe が終了し始めました。セキュリティ違反が発生したため、RServe が接続を終了しました。RServe ログで詳細を確認してください。
外部サービス構成がセキュア接続で設定されていますが、証明書が見つかりません。外部サービスへのセキュア接続を確立する際は、この外部サービスが署名されると考えられる証明書をアップロードする必要があります。この証明書によって署名されていないサーバーへの接続は拒否されます。これにより、データが信頼できるサーバーにのみ送信されます。
証明書ファイルは指定された接続 (%1 %2:%3) で有効ではありません。サーバーとクライアントの両方で同じ証明書が使用されていること、証明書ファイルが破損していないこと、また日付が有効であることを確認してください提供された証明書はこの接続構成で有効ではありません。外部サービス サーバーに署名している証明書と一致していること、PEM 暗号化されていること、また今日の日付で有効であることを確認します。
外部サービス接続証明書が無効です提供された証明書が無効です。証明書が PEM 暗号化されていること、また今日の日付で有効であることを確認します。
外部サービス接続で SSL/TLS コンテキストの作成に失敗しましたTableau はこの指定された外部サービス構成でセキュアな環境を初期化できませんでした。ホストとポートが正しいこと、また証明書が有効であることを確認します。
外部サービスが SSL/TLS を使用して接続できませんでしたTableau が外部サービスへのセキュア接続を確立できませんでした。外部サービスがセキュア接続をサポートするように構成されていること、また提供された証明書が外部サービスに署名している証明書と一致していることを確認します。
外部サービス サーバー プロトコルが認識されませんTableau により認識またはサポートされていないホストにプロトコルが追加されました。RServe に接続する場合、予想されるプロトコルはありません。TabPy に接続する場合、プレーンテキスト接続の確立では HTTP プロトコルが予想され、セキュア接続の確立では HTTPS プロトコルが予想されます。

その他の問題

SCRIPT 関数は false と評価する論理型ステートメントでも実行する

実行中の外部サービス インスタンスに式を送る関数は、それ以外の場合は実行できないようにする論理型ステートメントにある場合でも実行されます。これは、IF、IIF、および CASE などの論理関数に対して true です。例は次のとおりです。

IF 1==0 THEN
  [[R script code]]
ELSE
  "1 does not equal 0"
END
フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!