【Tableau】7. Performance Best Practice【DATA Saber】を受講しての感想
Tableauの裏の処理も理解した上でVizを作ることの重要性をよく学べた章でした。今後Tableauを伝えていく立場として、パフォーマンスについての今回の講義内容はよく見返すことになりそうです。
重要だと思ったポイントをまとめたのでぜひ参考動画も合わせて見てください!
Tableauのパフォーマンスはなぜ大事か?
・迅速に答えを見つけることができる
・分析のFlowに乗れる
・似たようなワークブックを量産せずに済む
・Fast workbook = Happy users(早いワークブックだとみんな幸せ!)
パフォーマンスを決める要素4点
・やりたいこと
誰が、何のために、どのように使うのか
・知識
どういう操作が遅くなるか知る
・データ量
全RAWデータ、集計データ、絞ったデータ
・処理能力
HW、DB、チューニング
知識についていくつか紹介
データの内部処理の仕組み
機能とデータが処理される場所
DBで処理される
・結合(JOIN)
・集計
・計算Tableauで処理される
・マーク
・表計算
・ソート
データ量を減らす手段
フィルター機能を使う:Tableau操作前に件数を減らす
抽出フィルター
データソースフィルター
RDBで工夫する
インデックスキー
パーティショニング(ディメンション)
NULLを無くす(ディメンション項目ではNULLを避ける
DB側で集計テーブルを事前準備
結合とブレンディング
結合
同じデータベースであれば(基本的には)表の結合が望ましい
インデックスを有効利用
1本のクエリ
ブレンド
レコード数が多く、表の結合に適さない場合
集計ビュー
クロスデータベース結合
ファクト(トランザクション)テーブルとマスタテーブルの結合
計算フィールド
計算フィールドの使い方
行レベル計算と集計計算
いずれもDB側で計算処理される
行レベル計算はスケーラビリティが高い
DBチューニング施策が効果を出しやすい
行レベル計算+集計計算のBest Practice
計算フィールドを分割するとパフォーマンスが良くなるとされている
行レベル計算を1つの計算フィールドに
集計計算を2つめの計算フィールドに
計算フィールドではなく、標準機能の方が良いケース
ディメンションのグルーピング
「グループ」が有効
ディメンションの名前変更
「別名」の編集が有効
メジャー値のカテゴリ化
「ビン」が有効
フィルター
ディメンションフィルター
不連続フィルターは遅い
連続フィルターは早い
相対日付はさらに早い
保持・除外フィルターは遅い
クイックフィルター
項目が表示されたフィルターは遅い
複数の値(ドロップダウン)
単一値(ドロップダウン)
数値フィルター
範囲日付フィルター
項目がデータに依存しないフィルターは早い
複数の値(カスタムリスト)
ワイルドカード照合
相対日付フィルター
期間を参照フィルター
関連値のみはクエリが走るので遅い
ただし、使い勝手とのトレードオフ!
フィルターの適用順序
抽出フィルター
データソースフィルター
コンテキストフィルター
FIXED
セットフィルター
ディメンションフィルター
EXCLUDE/INCLUDE
メジャーフィルター
表計算フィルター
Tableauの裏の処理も理解した上でVizを作ることの重要性をよく学べた章でした。今後Tableauを伝えていく立場として、パフォーマンスについての今回の講義内容はよく見返すことになりそうです。
よろしければ参考動画もご確認ください。