Tableauのパフォーマンスログの勉強のため、過去に作成したダッシュボードをサンプルに ログ取得・Viz改善検討してみた。記録で残しておく。
はじめに
対象のワークブックの改善前の概要は下記の通り
-
Viz概要:受託案件における構築体制別の稼働分析
-
DataSource:複数Csvを事前にprepで結合や加工を施し出力したhyperファイル(26フィールド、1540行) ※都合によりTableauファイルは、パッケージ化したもので測定
-
ダッシュボード概要:5シートを表示、フィルタアクション設定(ワークシート跨ぎ)
-
ワークシート概要
id WorkSheet mark num Style 1 件数割合 14 Cross表 2 体制PT別稼働割合 6 円グラフ 3 プロセス×構築PT 30 棒グラフ 4 構築PT×プロセス 44 棒フラフ 5 案件情報 250 Cross表
パフォーマンスログについて
TableauDesctopには、クエリ速度やレンダリングパフォーマンスを可視化してくれるパフォーマンスログが存在する。
下記サイトが参考になった
ワークブック パフォーマンスの記録と分析 - Tableau
KCME TechBlog:【TableauTips】パフォーマンスログを使ってみよう
パフォーマンスログ実施結果(改善前)
Renderingに最も多くの時間を要している
ログ分析結果を踏まえた改善内容
Renderingの改善という事で、そもそも表示しているWorkSheetが常時表示する必要があるのか?という観点から 最もマーク数の多い シート「案件情報」を常時表示ではなく ツールヒント表示にして 必要な時のみ閲覧できる形にしてみた。
パフォーマンスログ実施結果(改善後)
改善前と全く同じ挙動を再現できたのかちょっと怪しいところはあるが、CoputingLayout は似たような時間になっているので良しとして
Rendering時間は 1.32s⇒0.57s に改善。
終わりに
今回の調査・改善自体は非常に単純なものであったが、パフォーマンスログの取得の仕方・閲覧の仕方について学ぶことができ有益であった。また、改善対象となったRendering時間についてはWorkSheetの数や表示内容に依存する事は明らかで、「本当に必要な情報を」「必要なタイミングで」「必要な形で」Visualizationすべし!という基本の基を改めて強く感じられる結果となった。


