1. ODBCドライバのインストールとデータソース名(DSN)の設定

ODBCを使ってデータをインポートするときには、ODBCドライバをインストールし、Exploratoryを接続するデータベースのデータソース名(DSN)を設定することから始めます。

なお、以下は動作確認済みのODBC DSNの作成手順です。

  • Snowflake(Mac/Windows用)- リンク
  • Oracle(Windows用)- リンク
  • オラクル(Mac用)- リンク
  • オラクル(日本語)(Windows用)- リンク
  • オラクル(日本語)(Mac用)- リンク
  • Microsoft SQL Server(Windows用)- リンク
  • マイクロソフトSQLサーバー(Mac版)- リンク

DSNでの接続の場合は、事前にODBC データソース アドミニストレーターを使ってDSNを作成する必要があります。DSNの作成方法については、こちらのノートにて詳細を記載しています。

2. コネクションを作成する

続いて、プロジェクトメニューから、「データコネクション」メニューを選択します。s

「追加」ボタンをクリックします。

「データベース」タブを選択し、「ODBC」をクリックします。なお、ODBC(Legacy)はExploratoryを古いバージョンからお使いのお客様のためのデータソースとなり、ODBCを利用する際は、原則的に、「ODBC(Oracle, Hive, etc.)」を選択します。

するとコネクションの設定ダイアログが表示されます。

なお、「接続タイプ」では以下の3つがサポートされており、こちらのノートでは「DSN」を例に設定方法を紹介いたします。

  • DSN
  • 接続文字列
  • 手動入力

ステップ1で作成したDSNを選択し、「コネクションをテスト」ボタンをクリックして接続に成功すると、接続に成功しました、というメッセージが表示されます。

なお、Macでは、 iODBCとunixODBCベースの両方のODBCドライバとDSNをサポートしています。

接続に成功したことを確認したら、「追加」ボタンをクリックしてコネクションを保存できます。

3. データのインポート

コネクションを追加できたら、データフレームの横の「+」ボタンをクリックし、データベースデータを選択します。

「ODBC(Oracle, Hive, etc.)」を選択します。

クエリの入力が開いたら、以下の手順でデータをインポートします。

  1. 左のダイアログからインポートするテーブルを選択します。
  2. 入力フィールドにクエリを記述します。
  3. 「実行」ボタンをクリックします。すると、データのプレビューが表示されます。
  4. 「保存」ボタンをクリックすると、データをインポートできます。

4. SQLでパラメーターを使用する

インポートダイアログの「パラメーター」ボタンをクリックします。

パラメーターペインが表示されたら「設定」ボタンをクリックします。

次に、パラメーターを定義し、保存ボタンをクリックします。

続いて、以下のように、@で、クエリ内のパラメーター名を囲みます。

select * from testdb.flights
where carrier = @{carrier}

すると、パラメーターボタンをクリックして表示されるパラメーターペインからパラメーターの値を変更して、動的にSQLのクエリ内容を変更できます。

なお、パラメーターの詳細はこちらの記事をご覧ください。

5. 実際の行数

クエリを実行した際の行数は、クエリを再実行しないと取得できないため、パフォーマンスの観点から、デフォルトの設定では取得していません。

もし、クエリのプレビュー画面に実際の行数を表示させたい場合は、「システム設定」から設定します。

データベースタブに移動して、「SQLデータインポートダイアログで実際の行数を表示」を「はい」に設定します。

すると、以下のように「実行」ボタンをクリックした際、実際の行数が表示されるようになります。

制約

ODBCがデータソースとなるコンテンツをパブリッシュした際、シェアードサーバー(Exploratoryユーザーであれば無料で利用ができるサーバー)ではスケジュールを設定してサーバーにパブリッシュしたコンテンツの更新を自動化したり、データソース内にあるパラメーターを実行して、動的にSQLのクエリの内容を動的に変更することはできません。これは、シェアード・サーバーに、デフォルトでサポートしているデータソース以外のODBCドライバがインストールされていないためです。

なお、自分達の組織の専用環境でExploratoryサーバー(オンプレミスまたはホステッド)を利用している方はサーバー環境にODBCドライバをインストールして、サーバーにパブリッシュしたコンテンツの更新を自動化したり、データソース内にあるパラメーターを実行して、動的にSQLのクエリの内容を動的に変更することが可能です。

サーバー用のコネクションの設定(オンプレミスまたはホステッドサーバーを利用している方向けのオプション)

こちらのセクションは、自分達の組織の専用環境でExploratoryサーバー(オンプレミスまたはホステッド)を利用している方向けのセクションです。

ODBCをデータソースに利用しているコンテンツをExploratoryデスクトップからサーバーにパブリッシュした場合、サーバーにそのコネクション情報を保存し、スケジュールの実行時やデータソースに関わるパラメーターの操作時に、そのコネクション情報を利用します。

また、仮に該当のデータソースにおいて多要素認証を(MFA)を利用している場合、スケジュールの実行(今すぐ実行を含む)やデータソースに関わるパラメーターの操作時には、その都度、多要素認証(例: モバイルアプリを使った認証や、電話による認証)を実施する必要が生じます。

さらに、ODBCをデータソースに利用しているコンテンツを「チーム」でサーバーにパブリッシュした場合、サーバーで利用されるコネクションは、「最後にコンテンツをパブリッシュしたユーザーのコネクション」になります。

そのため、最後にパブリッシュしたユーザーが変われば、サーバーで利用されるコネクション情報も変わることになります。

つまり、多要素認証を採用しチームでコンテンツを運用していると、スケジュールの実行時やデータソースに関わるパラメーターの操作を実行した場合、その時々で、多要素認証を行うべきユーザーが異なってくるケースが生じます。

そこで、自社の専用環境でExploratoryサーバー(オンプレミスまたはホステッド)にExploratoryデスクトップからログインをしているユーザーには、「サーバー用のコネクション」メニューが表示されます。

「サーバー用のコネクションを設定する」にチェックをつけると、サーバーでスケジュールやインタラクティブ・モードを実行するときのコネクションを、ローカルのコネクションとは別に設定することができるようになります。

例えば、チームのメンバー全員が、ここに代表者(アカウント)のコネクションの情報を入力しておくことで、誰がサーバーにコンテンツをパブリッシュしたとしても、設定した代表者のコネクションが利用されるようになるわけです。

このような設定により、多要素認証の通知が様々な人に届くことを回避し、一人に認証の通知が届くような運用が可能です。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio