Tableau Data Server によるデータの信頼性の強化

Tableau Server をどのように使い始めたら良いかわからず困っていませんか? Tableau Zen Master の Lorena Vasquez 氏が、Tableau Server でデータの信頼性を強化する方法を詳しく解説します。

今回のブログは、Cboe Global Markets 社でシニアソフトウェアエンジニアを務める、Lorena Vazquez 氏の寄稿です。Vazquez 氏は、BI とレポート作成のエンジニアリングを担当する部署の一員であり、Tableau Server 管理者も務めています。

マネージャー: 「経理からメールでこの収益の数字をもらったのだが、四半期ビジネスレビューで君が示した数字と合わないんだ。どこから数字を引っ張ってきたのかな? なぜ一致しないのだろう?」

アナリスト: 「数字は、IT 部門のレポートで作られたスプレッドシートに出ていました。経理はどこから数字を出したのでしょうね。何にしても、私の数字は正しいですよ」

マネージャー: 「原因を突き止めなければならないな」

私たちは皆、マネージャーであれアナリストであれ、あるいは IT 部門であっても、この類いの経験があります。複数の部門や役割の間で共有されているデータを信頼できるようにするには、どうすれば良いのでしょうか? 私にとっての答えは Tableau Data Server でした。

Data Server とは、Tableau Server に組み込まれているコンポーネントであり、Tableau Server サイト内でデータソースのパブリッシュ、共有、更新が行えるようにするためのものです。しかし私の経験から言えば、Tableau Data Server はそれ以上の仕事もしてくれます。

  1. Tableau Data Server は、収益情報などの重要なデータで曖昧さによるリスクを排除する、認証済みのパブリッシュされたデータソースを提供することができます。
  2. データソースは、スケジュールに基づいて更新することが可能です。手作業による更新に不安を感じることも、最新のデータを反映させてデータソースをパブリッシュし直す必要もなくなります。また、データソースで問題が発生した場合は通知されるので安心できます。
  3. さらに重要なのは、データソースとは今後の分析やダッシュボードのために説明が追加され再利用も可能な、定義された一連のディメンション、メジャー、計算だという点です。
  4. 私の場合、Tableau Data Server が持つもう 1 つのメリットは、実運用データベースシステムの影響を低く抑えられる点です。抽出により、実運用データベースシステムに対するライブクエリが減ったため、IT 部門は安心できるようになりました。

当社で使い始めたときの手順

私はまず、データソースから手を着けました。新しいデータを追加するためにデータソース更新のスケジュールを設定することはできますが、Data Server は静的なデータソースも扱えます。静的なデータの使用事例として挙げられるのは、過去のデータセットで、決して更新されないものや会社のデータベースドメインの外にあるものです。当社は抽出を作成して Tableau Server にパブリッシュするので、静的なデータソースが最もシンプルです。

当社ではデータソースを更新するために、Server へのパブリッシュを始める前の準備をしっかり整える必要がありました。使い始めた当初はいくつかの問題 (後で説明します) にぶつかりましたが、そのおかげで新しいデータソースの開発プロセスを確立できました。

どのようなデータソースを使うにしても、Tableau Server がそのソースにアクセスできることを確認しておく必要があります。たとえばデータソースがデータベースサーバーの場合は、Tableau Server がそのデータベースに接続できることを確認してください (IP アドレスとポート番号の両方が必要です)。私は Tableau Server 管理者なので、接続できるかどうかを自分で検証することができました。次に DBA チームに協力を求めて、Tableau 用の適切な認証情報を私が持っていることを確認しました。しかしその後、あるデータソースで接続に問題が発生しました。そのデータソースをパブリッシュして更新のスケジュールを設定したのですが、Server は接続できず更新が失敗したのです。その問題を解決しようと DBA チームに連絡を取ると、チームはデータベースサーバーが接続を拒否しているためだと確認してくれました。そして、Tableau Server からのアクセスが許可され、そこから当社のワークフローは改善されました。

2 番目の手順は、データベースドライバーが Tableau Server にインストールされていることを確認する作業です。データベースドライバーのさまざまなバージョンを管理しなければならないのかと、心配する必要はありません。サーバー上にあるのは 1 バージョンのみだからです。データベースにアクセスするために、サポートチームが各ユーザーの PC にデータベースドライバーをインストールする時代はすでに終わりました。Tableau Server にパブリッシュされたデータソースがあれば、そのデータソースを教えるだけでユーザーは Tableau Server 経由で接続できます。また私は Tableau Server 管理者ですから、利用されているデータソースとドライバーを管理しており、必ずドライバーを Tableau Server でサポートされている適切なバージョンにしています。なお、Desktop ユーザーの PC でも、適切なドライバーがインストールされていることを確認してください。当社では、利用しているデータベースドライバーのリストを管理しており、IT ヘルプデスクチームと共有しています。

データベースやネットワーク、ファイル共有で接続できる状態にしたら、データソースを Tableau Server にパブリッシュする段階に進むことができます。手順が多いように思えるかもしれませんが、管理され認証されたデータソースを維持すると、データソースごとにその場限りのセットアップを行うよりも大きなメリットが得られます。

実環境での利用

誰もがデータにアクセスできるようにするに当たって、最大の懸念事項として 1 つ挙げられるのがシャドー IT です。実は私もそれを懸念していました。これは、全員がデータのコピーを自分で持ち、同じディメンションやメジャーに違う名前を付け、データガバナンス全体が大混乱に陥る状況です。しかし Tableau Data Server なら大混乱は起こらず、安心することができます。少なくとも私は安心できています。

Tableau Data Server による、データ品質も含めたデータガバナンスの方法を見てみましょう。

データガバナンス

ここで冒頭の会話に戻りましょう。管理され認証されたデータセットを利用できると知った今、Tableau Data Server によりあの会話はどのように変わるのでしょうか。

アナリスト: 「チームで取り組んで、例のデータが Tableau Server で利用できるようにしました。毎日更新されるので、古いデータを見ているかもしれないと心配する必要はもうありません! それに、経理はあの手作業のスプレッドシートを使わなくなりましたから、私たちも同じ場所にある経理の情報を利用しています」

マネージャー: 「つまり、数字が違うことはもうないわけだ。助かったよ、ありがとう」

データソースを Tableau Server にパブリッシュすると、そのデータセットを利用する全員の間で一貫性が保たれます。ディメンションとメジャーは、誰もが見られるように管理および定義がなされ、説明が加えられています。また Tableau Server では、データソースに認証済みのマークを付けることもできます。そうしたことを行っておかないと、パブリッシュされたデータソースで落とし穴にはまってしまう可能性があります。説明を加えずにデータソースをパブリッシュする、メジャーとディメンションに場当たり的な名前や意味不明な名前を付ける、データワークフローのプロセスを確立していないという状況だと、混乱とデータへの不信感を招き、データ管理がまったくの悪夢になる危険性があります。私自身がその悪夢を経験しました。説明を一切書かずにデータソースをパブリッシュしたために、エンドユーザーが混乱してしまったのです。

当社はその問題を解決するために、Tableau Server 上にデータソースを作成するためのワークフロープロセスを確立しました。このプロセスは、自由にいくらでもシンプルにすることも、また複雑にすることもできます。しかし、私の経験から言えば、少なくとも次のポイントをカバーしている必要があります。

  1. ディメンションとメジャーの名前は、会社で使われているビジネス用語に合わせてしっかり定義する。
  2. 計算には適切な名前を付け、必要なコメントを追加する。(ある計算を「合計」にして別の計算は「合計の合計」にする、というようなことは避けましょう。)
  3. ディメンションには、名前だけで不十分な場合は説明を追加する。上流のアプリケーション (Web サイトのフォームや注文フォームなど) から取得したデータのソースを追加してもよいでしょう。
  4. 上の手順をすべて終わらせた後、データソースに認証済みのマークを付ける。それによって、このデータは信頼できるとユーザーに示すことができます。

あなたのチームやセンターオブエクセレンスと協力し、このワークフローがあなたのグループに対して持つ意味を明確にしましょう。完了するまでにいくらか時間がかかりますが、この作業によって、Tableau Server 上のデータを総合的に理解できるようになると思ってください。

データ品質

データ品質はデータガバナンスの構成要素です。持っているデータが正しいことをどのように保証すればよいのでしょうか? 先ほどの会話でアナリストは、Tableau Server 上にあるのでデータは毎日更新されると言いました。Tableau Data Server では、1 時間おきなどさまざまな間隔で抽出のスケジュールを設定することができます。

データソースのスケジュール設定で気をつけなければならないのは、抽出を実行した時点でデータが利用できない場合、データは得られないという点です。そこで、データ品質の検証をさらに一歩進めて、パブリッシュされたデータソースと元のデータソースでクエリを実行するダッシュボードを作成し、レコード総数を比較すると良いでしょう。そしてデータドリブンアラートを利用すれば、データソースが一致しない場合に通知を受け取ることができるようになります。この手法は、重要度の高いデータソースの一部で私が毎日行っているものです。

別の方法として、開発者は Tableau Server の REST API と Tableau データ抽出のコマンドラインユーティリティを使うと、元のデータソースでデータが利用できるときに Tableau Server 上のデータを更新する、「プッシュジョブ」を作成することができます。設定されたスケジュールに基づいて Tableau Server が元のデータベースからデータをプル (取得) するのとは異なり、プッシュジョブは Tableau Server のスケジュールとは無関係に、Tableau Server の抽出更新ジョブが実行される前にソースデータベースにデータが入力されると実行されます。なお、このアプローチは、スケジュール設定プログラムを利用できる場合にのみ使うことができます。データをデータベースに読み込む作業を担当している開発チームやデータチームと協力して、このジョブを追加できるかどうかを確かめてください。

アドボカシー

パブリッシュされたデータソースとプロセスをすべて整えても、その情報を共有しなければ無駄になってしまいます。次の手順は、Tableau Server の利用と Data Server にパブリッシュされたデータソースの利用を広めることです。それには、月刊のニュースレターの記事として新しいデータソースを知らせる、トレーニングセッションを開催して新しいデータソースを説明するといった方法がありますし、組織で有効ならデータソースの使い方のハウツービデオも良いでしょう。何よりも大切なのは、フィードバックを求めることです。ユーザーがディメンションとメジャー、そしてデータソースの使用事例を理解していることを確認してください。ユーザーに働きかければかけるほど、ユーザーは Tableau Server をもっと利用するようになります。

最初の一歩

Data Server の理解が深まったところで私がお勧めするのは、まず社内のセンターオブエクセレンス、Tableau ユーザーグループ、Tableau Ambassador に相談して、Tableau Data Server をどのように活用できるのか把握することです。現行のプロセスと、それを Data Server でどのように改善できるかを検討してください。私たちは、誰もが意味と価値のあるデータを探し求めています。そのためにもデータを一元化しましょう。

詳しくは、Tableau Data Server に関するスライドをご覧ください。