![見出し画像](https://assets.st-note.com/production/uploads/images/84541821/rectangle_large_type_2_70c45998f1a571f7f4f5f4a8c1490d20.png?width=800)
【Tableau】ワークブックの動作が遅い原因の分析と対処法
こんにちは!noteをお読みいただきありがとうございます。
今回の記事は、ライター谷澤が担当します。
Tableauで作成したダッシュボードを確認していて、動作が遅いな…と感じたことはありませんか?
今回は、ワークブックが重い原因を分析する2つの方法と対処法をご紹介いたします。
■ワークブックオプティマイザー
1.概要
ワークブックオプティマイザーは、Tableau Desktop 2022.1で登場した機能で、ワークブックが最適化されているかを自動で分析してくれます。
![](https://assets.st-note.com/img/1660269377401-lfjHfalf38.png?width=800)
詳しい詳細や使用方法は、過去記事「Tableau Desktop 2022.1新機能紹介」をご参照ください。
2.実演
今回はサンプルワークブックのスーパーストアを使用します。
ツールバー「サーバー」 > 「Optimizerを実行」 を選択
![](https://assets.st-note.com/img/1660269476761-dAYMKSAeiF.png?width=800)
「レビューが必要です」の項目を確認
![](https://assets.st-note.com/img/1660269566334-Os4IgnNyrI.png?width=800)
「レビューが必要です」の項目を修正することで、速度の改善が見込めます。
今回のワークブックの場合、データブレンドを使用して、複数のデータソースから情報を取ってきているのが原因のようなので、データブレンドをリレーションシップに変更する、Tableau Prepで1つのデータソースに加工する等の対策を行うことで、速度改善が見込めそうです。
■パフォーマンスの記録
1.概要
ワークブックのどこに時間がかかっているのかを詳細に見ることができます。
![](https://assets.st-note.com/img/1660269634036-5HKXlPKpDM.png?width=800)
2.実演
ワークブックオプティマイザーと同様にサンプルワークブックのスーパーストアを使用します。
ツールバー「ヘルプ」 > 「設定とパフォーマンス」 > 「パフォーマンスの記録を開始」 を選択
![](https://assets.st-note.com/img/1660269693939-QNJH4tnuXw.png?width=800)
パフォーマンスを分析したいワークシート、ダッシュボードのフィルター、パラメーター、ソート順を切り替える
![](https://assets.st-note.com/img/1660270012273-MG9xoDmkdp.png?width=800)
操作が終わったら、ツールバー「ヘルプ」 > 「設定とパフォーマンス」 > 「パフォーマンスの記録を開始」 を選択
![](https://assets.st-note.com/img/1660270099880-sm20QJ6ZFY.png?width=800)
すると、「PerformanceRecording」という名前のワークブックが新規に作成される
![](https://assets.st-note.com/img/1660270126899-oMVsCm0C1r.png?width=800)
3.イベントの一覧と対策
「Events Sorted by Time」の凡例は次の通りで、数値が大きい部分は対策を検討します。
・Computing Layout(レイアウト計算)
グラフの描画にかかる時間。
レイアウトが長すぎる場合は、ワークブックの簡素化を検討します。
・Connecting to Data Source(データソースへの接続)
ネットワーク、データベースサーバーの問題。
遅い接続は、ネットワーク問題またはデータベース サーバー問題が原因として考えられます。
・Compile Query(クエリのコンパイル)
コンパイルにかかる時間。
フィルター数の削減、複雑な計算(長い計算、LOD計算、ネストされた計算)を前処理での実行、ワークブックの簡略化を検討します。
≪POINT≫
文字列と日付の計算には時間がかかるので、前処理で変換しておくのが良さそうです。
・Executing Query(クエリの実行)
クエリの実行にかかる時間。
ライブ接続の場合は抽出接続を検討します。フィルター数が多い場合は数を減らすか、パフォーマンスの良いフィルター(コンテキストフィルター、フィルターアクション)の使用を検討します。
≪POINT≫
フィルター1つにつきクエリが1つ新規に作成されますが、フィルターアクションを使用するとビューのクエリ内に絞り込み処理が記載されるため、クエリを増やさずに絞り込みができるそうです。
・Generating extract(抽出の生成)
抽出にかかる時間。
データ量を減らすことを検討します。
・Geocoding(ジオコーディング)
地図などのマップデータの作成にかかる時間。
データ量を減らすことを検討します。
・Blending data(データのブレンド)
データブレンドにかかる時間。
データ量を減らすことを検討します。
・Server rendering(サーバー レンダリング)
Tableau Serverでレンダリングにかかる時間。
別のマシンで追加の VizQL Server プロセスを実行することで、サーバー レンダリングを高速化できます。
4. 分析用にワークブックを修正
修正しなくても確認することはできますが、少し見づらいので修正していきます。
ワークシート「Events」を開く
![](https://assets.st-note.com/img/1660270413125-i4WVeMCUSe.png?width=800)
行とマークの[Start Index]を削除
![](https://assets.st-note.com/img/1660270442407-NAM2wL6MjE.png?width=800)
列とマークの[Elapsed Time]をメジャーの合計にする
![](https://assets.st-note.com/img/1660270533446-UNpNEaPXLO.png?width=800)
![](https://assets.st-note.com/img/1660270577148-LwGtoDBZMc.png?width=800)
[Worksheet]を行に入れる
![](https://assets.st-note.com/img/1660270602985-bQH9PESMT2.png?width=800)
[Worksheet] を [Elapsed Time] で並び替える
![](https://assets.st-note.com/img/1660270612265-mMnG78U4sn.png?width=800)
以上で分析用のワークブックの完成です!
イベントごとに時間のかかっているワークシートがすぐに見つけることができるかと思います。
今回の場合、「製品別の売上」の「Computing Layout」の値が最も高いので、このグラフを修正することで、速度改善が見込めそうです。
今回は、ワークブックが重い原因を分析する方法2つと対処法をご紹介しました。いくら良いダッシュボードができたとしても、表示が遅いと使用ユーザーにストレスを与えてしまうので、時間がかかる部分は修正していきたいですね!
ご参考になれば幸いです。
最後に
SMKT事業部では、データアナリスト・データエンジニアを募集しています。
是非こちらもご覧ください。
▽その他募集職種こちらから▽
●●●
●●●
✉ サービスに関するお問い合わせ ✉
パーソルプロセス&テクノロジー SMKT事業部
smkt_markegr_note@persol-pt.co.jp