どこでも見れるメモ代わりに記事化。
データソースは「サンプル - スーパーストア.xls」を使用する。
Tableau Desktopからデータベース(Oracle)に接続する
今回は別用途のために構築してOracleデータベースにテスト接続する。
ローカルPC内の仮想マシンとしてLinux上に構築したOracle19c。
接続自体はデータソースを選択する際に対象のrdbms(Oracle)を選択して、以下の例のようにデータベースの接続情報を入力してサインインする。
適切な準備ができていない場合は以下のようなメッセージが表示されるようだ。
Oracle との通信中にエラーが発生しました
データ ソースへの接続に必要なドライバーがインストールされていません。
エラーを解決するには、ローカル構成への変更が必要な場合があります。
エラー コード: 4D305D6F
oci が見つかりません
単にTableau Desktopをインストールしただけだと、各rdbmsに対応したドライバーが入っていないようだ。多くのデータソースに対応しているため不要なものを入れないのは妥当なところか。
対応としては基本的に案内に従ってやっていけばよさそう。
エラーメッセージにて以下のURLが案内された。
ドライバーのダウンロード
以下のようにデータソースと環境OSなどの情報を絞って検索をかける。
正しく検索できれば、以下のようにインストールのための手順がしっかり表示されるのでそれに従えばよい。
以下の手順を実行し Oracle JDBC ドライバーをインストールします。
https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html.から Oracle JDBC ドライバー (ojdbc8.jar) をダウンロードします。
.jar ファイルを次のディレクトリにコピーします (ディレクトリを手動で作成する必要がある場合があります): C:\Program Files\Tableau\Drivers
Oracle OCI ドライバーを使用する場合は、以下の手順に従ってください。
https://downloads.tableau.com/drivers/oracle/desktop/tableau2021.1-oracle-driver-x64.msi から、Tableau Desktop 用の Windows 64 ビット Oracle OCI ドライバーをインストールします。
Tableau Desktop を再起動します。
今回のOracleの場合で言えば、ojdbc8.jarをダウンロードする方法ではOralceアカウントが必要で手元にすぐなかったのでmsi方式を選択した。
こちらの場合、ダウンロードと実行ができれば簡単にインストール完了する。
注意点があるとしたら、Tableau Desktopとドライバーのバージョンをそろえること。
自身の環境に入っているのがTableau 2021.1のところに2021.3をインストールしたらうまく接続できず、お手本のように少しハマってしまった。
インストールが完了したらTableau Desktopを開き直し、データ接続でさきほどと同じように接続情報を入力、接続できた!!
普段データソースにファイル等ばかりを使用していると接続方式少し違ってくる感じを受けそうですが、いろいろありそうなのでまぁここでは扱いません。接続まで。
データの結合を行わずに新たなデータソースに接続する
別表にあるデータソースなどを元のデータソースに対して結合などせずに独立して取り込む場合など。
データソースタブから新たに取り込もうとしても勝手に結合させられてしまう、こちらから独立でうまく取り込む方法が分からなかった。普通にあるのかもしれないが。
適当なワークブックから左上にある「新しいデータソースから取り込み」から行う。
あとは通常時と同じようにデータソースの取り込みを行えばよい。
以下のようにデータソースが追加されそれぞれデータソースとして使用できるようになる。
データソースのエクセルファイルを切り替える
例えば、元となるデータをエクセル管理していて、10月分でワークブックやダッシュボードを作成して、翌月に11月分のエクセルファイルに切り替えたい場合など。
今回は「サンプル - スーパーストア.xls」より、2019年のデータと2020年のデータをそれぞれ切り出してデータソースの切り替えを試してみる。
2019年のデータで以下のようなダッシュボードを作成した状態。
データソースタブに移り、対象のデータソースを選択、接続の編集を選択する。
切り替えたいデータソースを選択し直す。
ダッシュボードを確認すると正常に切り替わっている。
今回は単純なダッシュボードなので特に考慮不要だったが、月でデータが大きく変わってくるものや特に年月に複雑な条件を指定している場合には正常に表示させるためにある程度工夫が必要であると思われる。