Tableauのダッシュボードのレイアウトとパフォーマンス
最近Tableauのパフォーマンス改善の業務をしていて、Tableauのレイアウトとパフォーマンスの影響を検証しました。
Tableauのダッシュボードのレイアウトは以下に2つのパターンがあります。
- タイルを使ったレイアウト
- タイルを使わず浮動で配置する
こちらの2つのレイアウトの違いでパフォーマンスの違いがでるかを検証してみたところ、あまり速度の違いが見られませんでした。
個人的には、浮動で配置した方がパネルなどのオブジェクトを減らせるので速く表示されることを期待したのですが、どちらもあまり速さの違いがなくパフォーマンス以外の点でどちらを採用するかを決めるのがよさそうです。
2つのレイアウトの特徴としては個人的には以下のように考えています。
タイルを使ったレイアウト
- 枠の大きさにより自動的に調整してくれる。
- 均等割付ができる。
- チャートの形状を切替ができる(折れ線グラフから棒グラフ)
3点目は別で記事にしたいと思いますが、パラメータで指標を切り替える際にチャートの形状を変えたい場合にタイルレイアウトを利用すると実現できます。
タイルレイアウトの場合はサイズを自動調整してくれるので、棒グラフと折れ線グラフのどちらか一方のみ表示されるようにして、もう一方はフィルターで非表示になるようにすると、グラフの形状を切り替えたように見せることができます。
浮動を使ったレイアウト
- 座標や高さ・幅で細かい指定ができるので、複雑なレイアウトを作りやすい。
- オブジェクトを重ねることができる。
2点目はアイデア次第でいろいろな活用方法があります。
- 1つのチャートで表現したいが作り上難しいので、2つのチャートを重ねて表示する。
- 条件を指定した結果、チャートが表示されない場合にアラートメッセージを表示する。
※チャートを前アラートを後に配置するとチャートが非表示の場合にアラートが表示される
ダッシュボードを作成していく場合には、タイルを使ったレイアウトで大まかなイメージと画面サイズの確認を行います。ダッシュボード仕様が固まったら、以下のどちらにするかを決めて作成します。
- 複雑な場合は浮動レイアウトをベースとして、部分的にタイルを配置する。
- 簡単な場合はタイルを使ったレイアウトで、一部浮動を利用する。
複雑な場合は、パフォーマンスを考えてデータソースを作り直すことも多いので、レイアウトも一から作り直すことが多いです。最初から浮動レイアウトで作ると画面サイズの変更で大変になるので、浮動レイアウトをする際には画面サイズを決めてから作成するのが望ましいです。
ちなみにダッシュボードをTableau ServerやOnlineで公開して使用する場合は、パフォーマンスの観点では画面サイズは固定サイズにすべきです。固定サイズにすると画面のキャッシュが効くので、初期表示を速くすることができます。
タイルレイアウトと浮動レイアウトのパフォーマンスの違いを検証した例を見かけなかったので、実際に試してみてあまり変わりがないことがわかりましたので記事としてまとめてみました。
Discussion