CData Software Blog

クラウド連携のCData Software の技術ブログです。

Tableau Online ではなくTableau Bridge で!データ取得をスケジューリング

こんにちは。エンジニアの宮本です。

今回はTableau Bridgeを使って、クラウドデータやオンプレのDBサーバーからデータを定期的に取得するスケジュールの設定方法をご紹介します。

今回やってみること

  • Tableauデスクトップでローカルの SQLServer と kintone のデータを収集
  • Tableau Bridge を使ってデータ取得のジョブスケジュール設定

と、大きく分けて2点ありますが、今回のポイントは Tableau Bridge を使ってとスケジュールを組むというところです。
Tableau Bridge を用いることで、各データを定期的に Tableau Onlineにパブリッシュすることができるツールになります。 f:id:sennanvolar44:20190611142845p:plain


Tableau Bridgeとは?

Tableau Bridge は、Online 同期クライアントとライブ クエリ機能を兼ね備えていて、
ライブ クエリ機能によって、Tableau Online にパブリッシュされたデータ ソースとオンプレミス リレーショナル データの間のライブ接続を保持することができます。 Tableau Online で直接更新できないパブリッシュされたデータ ソースの場合は、Tableau Bridge を使用してデータを最新の状態に保つことができます。


Tableau Online から直接接続することはできないのか?

結果からお伝えすると、クラウド プラットフォーム(*1)上で SQL ベースのデータを維持しているものならできるようです。
Tableau Online から直接接続できるのは、MySQLPostgreSQLAmazon Redshift、Microsoft SQL ServerGoogle BigQuery、Snowflake・・・・などが該当します。

*1:Amazon Web ServicesMicrosoft Azure、Google Cloud Platform など


Tableauでデータを取得

まずはTableauデスクトップでSQLServer、kintone のデータを取得してみたいと思います。
(Marketo、HubSpot の方法も kintone と同じ取得方法となります)

ローカルで起動している SQLServer への接続を設定

Tableauデスクトップの左上にある「追加」をクリック(下記キャプチャの赤枠部分) f:id:sennanvolar44:20190604164218p:plain

サーバー名、データベース名などの接続情報を入力して、サインインボタンを押下するだけで接続設定が完了です。
f:id:sennanvolar44:20190604163252p:plain

こちらはSQLServerからデータを取得した際のイメージ。 f:id:sennanvolar44:20190607113512p:plain

クラウドのデータソース kintone への接続を設定

既にデータソース名(DSN)の設定が完了している場合は、サーバー名、データベース名などの接続情報は登録しているDSNを選択し、接続ボタン→サインインで接続設定が完了です。逆に未設定の場合はドライバーを選択し、接続情報を入力してください。

f:id:sennanvolar44:20190604162954p:plain

こちらは kintone からデータを取得した際のイメージ。
f:id:sennanvolar44:20190607114202p:plain

ここまでが、Tableauデスクトップへとデータを収集する作業となります。

Tableau Bridgeの設定

次に、一度収集したデータをTableau Online にパブリッシュし、Tableau Bridge を使って各データソース毎にスケジュール設定していきます。

Tableau Online へのパブリッシュからスケジュールの設定まで

「サーバー」タブ→「データソースのパブリッシュ」→対象のデータの順にクリックします。
f:id:sennanvolar44:20190607165051p:plain

認証の編集をクリックし更新を有効にし、「パブリッシュ」ボタンをクリックします。
f:id:sennanvolar44:20190611152902p:plain

「Tableau Bridge を使用したスケジュール」をクリックし、スケジュール設定を行います。
f:id:sennanvolar44:20190607170703p:plain

取得したいタイミングをここで設定します。
今回は平日の17時~20時、15分間隔でデータを取得するよう設定しています。
なお、更新開始時間は00分、15分、30分、45分と決まっていて、スケジュール設定した時間から15分後ではないようです。
f:id:sennanvolar44:20190607171201p:plain

ここで、Tableau Bridge を起動させます。
f:id:sennanvolar44:20190607172316p:plain

数秒たつと、デスクトップのタスクバーにある Tableau Bridge のアイコンが表示されますが、赤いビックリマークが表示されています。

これは、先ほどパブリッシュした内容の接続情報がTableau Bridge に設定されていないためなので、接続先の情報を入力していきます。
f:id:sennanvolar44:20190607172802p:plain

警告マークがついている接続情報をクリックします。
f:id:sennanvolar44:20190607173354p:plain

接続先のユーザー名/パスワードを入力し、テスト接続を行ったあと、保存ボタンをクリックします。
f:id:sennanvolar44:20190607173641p:plain

これで先ほどまで出ていた警告が消えているのが確認できます。
f:id:sennanvolar44:20190607174432p:plain

スケジュールの設定作業は以上となります。

スケジュール内容を確認

Tableau Online で「抽出の更新」タブをクリックし、スケジュール化されていることが確認できます。
f:id:sennanvolar44:20190607175019p:plain

まとめ

今回は SQLServer、 kintone のデータを定期的に自動でパブリッシュする方法をご紹介してみました。今後は、OracleSalesforce など今回とは別なデータソースを用いた記事や、Tableau Online から直でクラウド上のDBサーバへのスケジューリングの記事を書いてほしいなどございましたら、お気軽にご連絡いただけると幸いです。