見出し画像

Tableauのデータ接続についての備忘録

どうも、分析屋の東雲(しののめ)です。

今回は、Tableauで可視化の前に行う「データ接続」についてです。
私は普段特に理由がなければ、シンプルにExcelを読み込んでしまいがちなのですが、果たしてそれで本当によいのか…?と。
TableauにはExcelファイル以外にもたくさんのデータ接続の選択肢がありますし、毎度Excelを読み込むよりも便利な使い方ができることでしょう。
今後も引き続きExcel接続を選ぶとしても、メリットデメリットを理解したうえで選択したいなというものです。
ということで、データ接続方法の種類やメリットデメリットについて、データベース初心者なりに学習した内容をお伝えしていければと思います。




Tableauで接続できるデータ

Tableauの公式サイトにて接続可能なデータソース一覧が確認できます。
大まかに「ファイル」か「サーバー」かに分かれており、さらに細かくサービスが分かれています。

■「ファイル」から利用できるデータソース

「Excel」や「CSV」、「PDF」などの馴染み深いファイル形式をはじめ、
「Microsoft Access」(Microsoft Accessによって作成された簡易データベースを読み込める)
「統計ファイル」(RやSASなどの統計ソフトによって作成されたデータが読み込める)などがあります。

■「サーバー」から利用できるデータソース

「MySQL」「Oracle」「PostgreSQL」など基本的なRDBへの接続は勿論、
「Google BigQuery」「Amazon Redshift」「Snowflake」などモダンなデータウェアハウスへの接続や、「Googleドライブ」や「BOX」などデータ保存場所として使っているツールを経由してファイルへの接続など、本当に様々な接続をサポートしているようです。
一覧を上から下まで流してみると初めてみる名前のサービスもたくさんあるので、きっとすぐに使えるデータソースが何かしらヒットするかと思いますので、ぜひチェックしてみてください。


データ接続時の設定

では実際にどのようにデータソースに接続していくのかやってみたいと思います。
まずは「ファイル」に接続する場合は非常にシンプルですね。
以下の接続設定画面でソースにしたい形式を選んで、接続するファイルを選ぶだけです。

「Microsoft Access」を選ぶ場合だけ少し特殊で、
【参照…】から*.mdb、*.accdbなどのAccessファイルを選択したのち、パスワードもしくはセキュリティ認証情報を入力することで接続できるようです。
詳しくはこちら

次に「サーバー」に接続する場合ですが、とってもたくさん種類があるので、
今回はデータウェアハウスの「Snowflake」に接続する場合を紹介いたします。
まずはTableauの接続から「サーバーへ」>「その他」を選択し、「Snowflake」と検索して出てきたこちらを選択します。

すると以下のようなポップアップが表示されます。
Snowflakeにログインするときにアカウント名とパスワードを求められますが、同様の情報をTableauにも与えることで、Snowflakeへの接続が可能になります。

「ユーザー名」と「パスワード」はSnowflakeの接続したいデータベースに接続できるアカウント情報を入力、
「サーバー」の欄は、Snowflakeのログイン画面のURLから取得できるこの部分を入力すると接続できるかと思います。

ちなみに上記はSnowflakeのログイン情報を直にTableauに入力するやり方となりますが、
OktaやOAuthなどで認証情報を一括管理して、それらを経由しての接続も可能なようです(難しいですねぇ)
詳細はこちら


「ファイル接続」と「サーバー接続」どっちがいいのか

「接続できるソースややり方はわかったけれど、じゃあ、結局どっちがいいの??」と。
選ぶ際の視点がいくつかあるのかなと個人的に思っています。
1つ目はシンプル且つ根本的な選び方で、「いま使えるやつを使ったらええ」です。
「Excelですぐ読み込めそうなデータを持っている。じゃあこれをそのまま使おう。」これが一番シンプルです。
実際私が業務で新しくTableau画面を作る際も、そこまで長期的に運用を考えている訳でもなく、データ量が膨大でもなければ、Excelで十分かと思います。
勿論、今使えるデータがAmazon S3にあるのであれば、まずはAmazon S3に直接接続することを考えてみて、そのやり方では都合が悪いという場合に解決する方法を検討するというのが良いのかなと。

2つ目の視点は、「データの更新頻度や管理方法で考える」です。
ファイル接続は物理的にファイルが存在して、それを更新することでTableauにもその内容が反映されます。データの更新が手軽に行えるのがファイル接続の利点です。
裏を返すと、データソースの更新をいつでもだれでも行うことができるので、複数人で一つのデータを同時に編集してしまったり、入力規則が守られずにTableau側でエラーを起こしてしまったりする恐れもあります。
また、「データソースの更新が1日に何度も行われて、Tableauにもリアルタイムにその内容を反映したい」なんて場合は、ファイル接続ですと手動で更新するのが大変なので不向きなように思います。
SnowflakeやAmazon S3などデータウェアハウスで自動的にデータソースの更新が走るよう設定しておいて、リアルタイムにそれを読み込むようにTableau側で設定するなんてやり方もあったりします。
リアルタイムにも弱点があって、Tableauの画面上でフィルターをかけたり操作をする度にデータ読み込みを行うため、処理待ちの時間が長くなってしまって利便性を損なうことがあります。

パラパラと書いてきましたが、まとめると以下のような感じでしょうか。

  • ファイル接続

    • Tableau作成時のデータ用意が楽

    • 閲覧時の速度も比較的速め(データ量があまり大きくないため)

    • データソースの更新も手軽だけど、手動でやることが多いので高頻度の更新は負荷が大きい

    • 複数人で管理するデータの場合は管理体制を工夫する必要あり

  • サーバー接続

    • Tableau作成時は認証情報の設定などやや複雑(その分データ保持の安全性は高い)

    • Tableauデータソース更新の自動化など更新方法に応用が効く

    • データソースの更新を自動化すれば人間が複数人一緒に更新することもないので、データ品質も担保できる

    • データベースには膨大な量のデータが格納できるため、リアルタイムで更新する設定にすると閲覧時の利便性が犠牲になる(バッチ処理とかでちょうどよい頻度に定期更新するとか工夫が必要)

  • とりあえず最初のうちは使えるデータソースに接続してみて、困ったことが起きる様なら追加で考えるでOK


まとめ

いかがでしたでしょうか。
画面をどう組むのか以外にも、BIを扱う上で考えることはたくさんありますね。
Tableauの画面作成者、閲覧者、データ更新者、誰にとっての利便性を優先するか等も判断基準になりそうです。
よいTableauライフを!




ここまでお読みいただき、ありがとうございました!
この記事が少しでも参考になりましたら「スキ」を押していただけると幸いです!

株式会社分析屋について

弊社が作成を行いました分析レポートを、鎌倉市観光協会様HPに掲載いただきました。

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!

【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。

【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。

【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。

【SES】
SESサービスも行っております。