Tableau および ODBC

Tableau には、多くのデータベース用のビルトイン コネクターが含まれます。これらのコネクターはこれらのデータ ソースに固有の機能や最適化を活用しており、堅牢性を確保し、優れたパフォーマンスを提供するよう開発とテストが行われています。

ただし、Tableau が接続していないデータベースで作業する場合があります。その場合でも、Tableau をデータベースに接続することができます。Tableau には、ODBC 標準を使用するコネクターがあります。ODBC を使用することで、SQL 標準をサポートするデータ ソースにアクセスして ODBC API を実施できます。

ODBC の基本

ODBC (Open Database Connectivity) は、幅広いソフトウェアがデータへアクセスすることができる業界標準です。ODBC の基本は、SQL クエリの標準的な構文であり、ソフトウェア アプリケーションがデータベースに接続しデータを要求するために使用します。ODBC ドライバー (通常データベース ベンダーによって提供される) は、この標準的な構文の要求を受け取り、その要求をターゲット データベースで優先されるネイティブの書式設定へ変換します。実際のところ、ODBC ドライバーは、汎用的な要求からデータベース固有の要求へ変換するための翻訳レイヤーです。

たとえば、ODBC の仕様は、SQL ステートメント内で日時を指定する方法を詳しく述べるために、構文 {d 'yyyy-mm-dd'} を使用します。この書式設定は、ドライバーによって現在のデータベースの適切な日付の構文へ翻訳されます。ODBC コネクターを使用して Oracle データベースに接続している場合、ODBC コネクターはこの形式で Oracle ODBC ドライバーに要求を送信します。

select name from emp where birthdate > {d '1987-12-29'}

ドライバーは、要求を Oracle データベースが必要とする次のような実際の書式設定へ変換します:

select name from emp where birthdate > '29-DEC-87'

ODBC の仕様には、関数要求を作成する構文、結合構文、データ型、およびデータ型の変換が含まれます。SQL 言語自体が、ネストされたクエリ、相関サブクエリ、一時表、および select 句、where 句、group by 句、join 句などで使用できるいくつかの関数などの複雑な概念をサポートしています。ODBC ドライバーは、これらすべての要求をターゲット データベースの構文へ適切に変換します。

Tableau による ODBC ドライバーの機能の決定方法

データベース ベンダーごとに ODBC 標準の機能を実装する方法が異なるります。Tableau は ODBC で機能ディスカバリ API を使用して、サポートする機能についてデータベース ドライバーに質問します。Tableau がドライバー レポートに基づいてどのように挙動を変更するかの例の1つは、計算フィールドを作成する時に使用可能な関数の一覧です。ドライバーの制限が少ないほど、より多くの関数を使用することができます。

場合によっては、Tableau は ODBC コネクターによって返されたデータからデータ抽出を作成することを要求します。それに加えて、Tableau が接続できないいくつかの ODBC ドライバーとデータベースがあります。

ODBC ディスカバリ

初回接続時、Tableau はドライバーの機能を決定するため、ドライバーおよび SQL 検出クエリに対する要求を実行します。

Tableau が実行する機能ディスカバリには、次の例が含まれます:

  • どのスカラー関数と集計関数が使用可能であるか。

  • どの日時マニピュレーション関数が使用可能か。

  • 一時表を作成できるかどうか、および select into ステートメントを使用できるかどうか。

  • サブクエリはサポートされるか。

  • トップ クエリと限定クエリはサポートされるか。

  • どの結合スタイル (外部、内部、全部) がサポートされるか。

  • どのデータ型がサポートされるか。

機能ディスカバリの結果に基づき、Tableau は現在の接続を 4 つのカテゴリに分類します:

  • 完全に機能する。これは、Tableau が使用するすべての関数と機能をサポートするドライバーです。

  • 若干の制限。これは、重要でない少数の制限を持つドライバーです。例は、通常 Tableau が利用できるようにする数字、文字列、または日付関数の完全なセットをサポートしないドライバーです。Tableau は、これらの制限を説明して継続するために、その挙動を修正します。

  • 重要な制限。これは、多くの制限がある、または Tableau が依存するサポートされていない重要な機能を持つドライバーです。これらの厳しい制限があるにもかかわらず、Tableau は、Tableau 抽出を作成し、後でデータベースからオフラインで作業を行うためにデータを Tableau に取り出すために十分な接続が行えます。この場合、Tableau は抽出を作成することをお勧めします。抽出を作成する際、データ ソース上にフィルターを作成して抽出のデータ量を削減できない場合があります。(詳細については、データ ソースからデータをフィルターするを参照してください。)データが抽出されると、抽出で作業を行う時にすべての Tableau 機能を使用することができます。

  • 致命的な制限。これは、抽出ファイルを作成するために、Tableau が接続して基本クエリを実行するために必要な、最小限の機能セットをサポートしていないドライバーです。したがって、Tableau は、これ以上このドライバーを使用することはできません。

接続が確立した後、使用可能な機能がこの接続を「完全に機能する」より下のカテゴリに分類することを Tableau が決定した場合、検出された制限を伝えるメッセージが表示されます。たとえば、若干の制限を持つ ODBC ドライバーへの接続は、このメッセージを表示します:

より重大な制限に関しては、警告ダイアログ ボックスが表示され、継続するために Tableau 抽出を作成するようアドバイスします。

ODBC コネクターのパフォーマンスの微調整

Tableau は、ODBC データ接続のカスタマイズ機能をサポートし、接続の操作性を劇的に向上させることができます。詳細については、接続のカスタマイズと微調整を参照してください。

ODBC 接続に対する Tableau サポート

Tableau は、特定の ODBC ドライバーまたはデータベースを Tableau で使用することによってデータへの接続やクエリの実行が成功することを保証するわけではありません。いくつかの ODBC ドライバーでは、Tableau での完全なインタラクティブ操作を行えますが、その他は抽出の作成のみを行えます。一部の ODBC ドライバーは Tableau では機能しない場合があります。

注: Tableau は ODBC ドライバーとの接続のトラブルシューティングをサポートする、妥当なレベルのカスタマー サポートを提供しますが、特定の ODBC ドライバーを操作するためのコネクターを作成またはカスタマイズすることはできません。

ODBC の FAQ

ODBC コネクターの一般的な使用事例は何か。

ODBC 接続の主な使用事例の 1 つは、データへアクセスして特に Tableau 抽出内へ取得することです。このデータを Tableau 抽出内へ持ち込むと、完全な Tableau 機能でデータを処理することができます。多くの ODBC ドライバーは、抽出を実行するために要求される、単純なクエリに接続して実行するために必要な機能をサポートします。すべてのデータを抽出する場合も、いくつかの列を選択していくつかのフィルターを設定して関連するサブセットを取得する場合も、この ODBC の使用法は便利です。

どこでデータベース用の ODBC ドライバーを取得できますか?

多くのデータベースのベンダーは、自社のデータベースを使用するための ODBC ドライバーを配布しています。ドライバーの取得は、データベースのベンダーへお問い合わせください。また、多くの ODBC ドライバーのサード パーティ メーカーがあり、さまざまな一般的なデータベースのドライバーを提供しています。

必要な ODBC ドライバーのバージョンは何ですか?

バージョン 3 またはそれ以降のバージョンの ODBC ドライバーをご使用ください。これは、ODBC 仕様のバージョン 3 を実装しているということを意味します。それぞれのドライバーのプロバイダーは、ドライバーのバージョンに独自のバージョン番号方式を採用しています。これは、実装する ODBC バージョン番号とは異なる場合があります。ODBC バージョン 3 仕様は、1995年に発表されました。そのためデータベースのプロバイダーは、このレベルの適合性を実装するドライバーを持っていると思われます。これまで、バージョン 3 に準拠していないドライバー (接続に失敗します) を持つ多数の Tableau カスタマーが見られました。それらのカスタマーは、その後、新しいドライバーへアップグレードして接続することができました。

Tableau はデータベース [x] をテストしましたか?

Tableau は、多数のデータ ソースを使用して ODBC 接続をテストしましたが、莫大な量の ODBC ドライバーが市場に出ているため、すべてのドライバーをテストしてはいません。また、Tableau はこの幅広いテストを実行することもできません。特定のドライバーに対して最もお勧めすることは、試してみることです。どのように動作するかを報告してください。

動作しなかったらどうすればよいのですか?

初めに、ドライバーのバージョンを確認してください。Tableau ロゴを見ると、ドライバーが報告する ODBC バージョン レベルが表示されます。次のようなステートメントのログを検索します。

ODBCProtocol: driver ODBC version: 03.52

最後の数値が ODBC のバージョン レベルを表します。03.00 より小さい場合、ドライバーをアップグレードする必要があります。

接続した時にサポートされていない機能に関する警告が表示された場合、さらに多くの機能をサポートしている更新されたドライバーがあるかデータベースのベンダーへ確認してください。すべてのドライバーが Tableau で動作するわけではありません。

名前付きデータベース コネクターまたは ODBC 接続を使用する必要がありますか?

Tableau が名前付き接続オプションを持つデータベースへ接続している場合、名前付きコネクターを使用してください。名前の付いたコネクターは特定のデータベース用に最適化されています。

関連項目

その他のデータベース (ODBC) – ODBC コネクターを使用してデータに接続する方法を説明します。

接続のカスタマイズと微調整 – 機能とパフォーマンスの改善のために接続情報を微調整する方法について説明します。

Tableau 機能のカスタマイズの参考資料 – データ ソースによりサポートされている Tableau 機能定義に使用できるカスタマイズを一覧表示します。

ODBC/SQL カスタマイズの参考資料 – ODBC ドライバー レポートがサポートしている ODBC および SQL 標準の部分を表すカスタマイズをリスト表示します。

ありがとうございます!