有用なTableauワークブックの設計(v10.0版):Tableauの得意なこと&苦手なこと

2016.10.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableau公式サイトでは『有用なワークブックの設計』というタイトルでTableauでワークブックを作成する際のベストプラクティス的なものをまとめたホワイトペーパー(PDF)が公開されています。(※要サインイン)

この内容は文字通りとても有用なものであり、参考にすべきポイントが盛り沢山の資料なのですがTableau 8をベースにしたものであり、若干情報としては古くなっておりました。現行最新バージョンであるTableau10が出て間も無くの頃、この内容をv10.0版にバージョンアップさせたドキュメントが公開されていましたので改めて内容を読み進めて行きたいと思います。

best-practices-for-designing-efficient-tableau-workbook-v10_00

ちなみにこちらのホワイトペーパー、総ページ数:88ページと、とても1エントリにはまとめ切れないボリュームとなっております。ですのでテーマやトピック毎に小分けにする形で少しずつ読み進めて行ければと思います。当エントリはその第1弾です。

目次

はじめに

ホワイトペーパーの冒頭では、『TL;DR』という見出しで要約的に以下の内容をまとめています。ホワイトペーパー全体の指針という感じでしょうか。

  • 効果的なワークブックを作成する為の『銀の弾丸』は存在しない。どこで時間が掛かっているかを見極める為にパフォーマンスレコーダーを見ることから始めよう。それは実行時間の長いクエリなのか?大量の件数を捌いているクエリなのか?計算で時間が掛かっているのか?複雑なレンダリングに時間を擁しているのか?努力を正しい方向に活用するために、洞察を使おう。
  • このホワイトペーパーで推奨している事はあくまでも"推奨"。ベストプラクティスに成り得る一方で、その策があなたが直面しているケースでパフォーマンスの改善となるか否かは検証する必要があります。これらの多くは参照しているデータ(利用しているデータソース、例えばテキストファイルやRDBMS,抽出ファイル等)の構造に依存する形となります。
  • 抽出ファイルを活用する事で、多くのケースでワークブックでの実行を高速に実行させる事が出来ます。
  • データを整理し、見たいデータと一致するデータの構造を準備しておく事で、高速にワークブックを実行させる事が出来ます。
  • 処理に時間が掛かるダッシュボードはその多くが『マズい設計(デザイン)』に起因するものです。特に、単一のダッシュボード上に多くのチャートを盛り込んでいるケースや、一度に多くのデータを表示させようとするケース等です。シンプルに行きましょう。フィルタを使って全てを表示させるのでは無く、詳細を見る際はユーザーにドリルダウンさせましょう。
  • その時に必要なデータだけ扱うようにして、必要以上のデータはアクセスしないようにしましょう。返すデータの粒度然り、参照するフィールド然り。Tableauが生成するクエリを少なく、早くさせる事で、Tableauデータエンジンがデータソースにアクセスするデータの量を減らす事が出来ますし、ワークブック自体もサイズが軽くなりますので高速に開く事が出来ます。
  • データ量を減らし、フィルタが効果的に効くようにします。
  • 文字列や日付データはアクセスが遅くなりますが、数値や真偽値であれば高速に働きます。

最後に、このホワイトペーパー内のオススメの幾つかは大きなor複雑なデータセットを扱う際に重大な影響を及ぼす可能性があるのでご注意を。ちなみに『大きな』『複雑な』とは何をそう指すのか?『ケースによる』としか言えないのですが、当ホワイトペーパーの推奨事項に従っておくことでデータが巨大化した際にも困らずに済むでしょう。まずは『習うより慣れろ』です。

Tableauの特徴・得意な事

Tableauでは、人々がデータに対してどのように見て、対話をし、理解をしているのか、そういった部分を変えようとしています。そのため、Tableauは従来のエンタープライズBIプラットホームの提供を行っていません。Tableauは以下のようなワークブックを作成するには最も適しているツールと言えるでしょう。

ビジュアル
Tableauでは視覚的な表現により大規模で複雑なデータセットを理解し易くなっています。Tableauのデフォルトの動作では、データをチャートやダイアグラム、ダッシュボードで表現します。テーブルやクロス集計表等を含め数多くの表示形式をサポートしています。
インタラクティブ(対話・双方向・相互作用)
Tableau(のドキュメント)はDesktopやWeb、モバイルデバイスを通じて情報をインタラクティブにユーザーに伝えるように設計されています。主に印刷物出力(PDFや実際の紙媒体等)に重きを置いた他のBIツールとは異なり、Tableauではユーザーがデータを探索し、ビジネス上の問題を解決に導くような、リッチでインタラクティブな体験を生み出す事に焦点を当てています。
イテレーティブ(反復)
発見(discovery)は本質的には循環的なプロセスとなります。Tableauは『質問』から『質問への洞察』への転換サイクルを高速化するように設計されているので、ユーザーは高速に[仮説を立てる]→[利用可能なデータを使って検証]→[仮設を訂正]→[再び検証]といったサイクルを繰り返し行っていく事が出来ます。
高速
これまでのBIのプロセスは"遅い"ものでした。ソフトウェアのインストールや設定、分析用のデータを準備、ドキュメントやレポート、ダッシュボードを設計・作成...といったものに時間が掛かっていました。Tableauを使う事で、ユーザーはこれまでよりも高速に環境をインストールし、データに接続し、成果物を作成する事が出来るようになります。多くのケースで『数ヶ月・数週間』掛かっていたものが『数時間・数分』までに時間削減出来ています。
シンプル
伝統的なエンタープライズBIツールはしばしば複雑さの点に於いてビジネスユーザーの能力を超えたものとなっていました。多くの場合、ユーザーはITのサポートや、ユーザーが望むようなクエリやドキュメントの作成をサポートする"パワーユーザー"の支援を必要としています。Tableauはそういった技術者以外のユーザーがDBやスプレッドシートの専門家になること無く、クエリを実行し、複雑なデータを分析出来るような直感的なインタフェースを提供しています。
美しさ
Tableauのビジュアルコミュニケーションに於いてはベストプラクティスがあります。"Show Me(表示形式)"の様な機能を使う事で、非技術者ユーザーもTableauでデータに基づいた効果的で分かり易いグラフを作成する事が出来ます。
ユビキタス
ユーザーはデスクトップやWeb、モバイルデバイス、その他アプリケーションやドキュメントに埋め込む形で情報を表示したいと考えています。Tableauでは、単一のコンテンツを公開(Publish)し、任意の移植作業や再設計を行う事無くこれら全てのプラットフォームでそのコンテンツにアクセスする事が可能です。

Tableauが苦手とする事・向いてない事

一方、こちらはTableauが苦手とするケース・向いていないケースです。

Tableauは強力なツールですが、『Tableauを使うケースとして適さないものがある』という事をTableauを使い始めるにあたって理解しておく必要があります。これは、『Tableauではこれらの事が出来ない』というのを意味するものではありません。Tableauでは元々の設計仕様では無いことも色々出来たりします。出来たりはしますが、そういった作業を行っていっても結果が割に合わないものだったり、結果そのものが得られない可能性もあります。もしそれらの目的を達成したいのであれば、Tableauでは無く別のアプローチを検討頂く方が良いでしょう。主なものは以下のようなケースです。

  • 画面では無く紙媒体での印刷、帳票出力を想定したコンテンツが必要となるケース。これはもし複雑なページレイアウトの制御を必要とする場合、ページ、セクション、グループヘッダー/フッターやWYSIWYG書式設定等の機能が必要となる、という事を意味します。Tableauでは複数ページのレポートを作り出す事が出来ますが、帳票専用ツールで使えるような書式設定のコントロールは行なえません。
  • 複数の配信モードを介したパーソナライゼーション(これは"bursting"とも呼ばれます)送信を使用した、コンテンツの複雑なPush配信型機構が必要となるケース。Tableau Serverにはレポートのサブスクリプションの機能が含まれています。これはユーザーがユーザー自身に(v10では他者への配信も可能となりました)レポートをメールで配信出来るというものです。しかしながら、利用者は時にはより柔軟なソリューションを望む事もあります。Tableauを使用してPush型配信システムのフォームを別途作成する事は出来るかも知れませんが、それはTableauネイティブの機能ではありません。TABCMDユーティリティを中心としたカスタムソリューションの開発や、VizAlerts(http://tabsoft.co/1stldFh)のようなサードパーティソリューション、またMetric Insights(http://bit.ly/1HACxul)といったプッシュインテリジェンスが必要となるでしょう。
  • 利用の主目的が『異なるデータフォーマットへのエクスポート』となるようなケースの場合。これは多くの場合、詳細データ行を多く持つ表形式のレポート(の出力)を意味します。TableauではユーザーがビューやダッシュボードからEXCELをエクスポートする事が出来ますが、主な目的がこのようなエクスポート作業となる場合h,これはTableauがETL(Extract-Transform-Load/抽出・変換・ロード)プロセスを代用しているに過ぎません。
  • 非常に複雑な、クロス集計のコンテンツを必要とする場合。複雑なサブ集計や相互参照等を行う既存のスプレッドシートレポートをミラーリングするようなイメージのものです。一般的な例としてはP&Lやバランスシート等様な金融レポートです。更にこれらにはシナリオのモデリング、what-if分析や前提データの書き直しが必要となります。基になる詳細なデータが利用出来ない場合、またはレポートのロジックがレコードデータを積み上げたものでは無く、"セル参照"に基づいているような場合、スプレッドシートを使用する事でこの手法を適切に継続する事が可能な場合もあります。

まとめ

という訳で『有用なTableauワークブックの設計(v10.0版)』第1弾、Tableauの得意なこと&苦手なことに関する内容のご紹介でした。『帳票』作成ツールとしてTableauを利用しようとするケースも多いかと思いますが、Tableauはそっち方面には向いてませんし、Tableau的には『分析を行い、気付きを得るためにはもっとシンプルに分かり易くすべきでは』という感じで指向がそもそも異なっている、というような感じがこれまでの内容から、そしてこのドキュメントを読み解く事で伝わってきます。このドキュメントの内容は適宜読み進めて、その内容もご紹介して行ければと思います。こちらからは以上です。