Fukae📑Tableauのパフォーマンス改善のチェックポイント2022/04/17に公開・約3,600字ツイート#パフォーマンスTableau#改善#チューニング#チェックリストtechTableauで開発するにあたり、パフォーマンスを意識したデータソース設計やTableauの開発を行う必要があります。データを「抽出」する。計算フィールドを多用しない。Tableauの標準機能を理解して、活用する。フィルターの使用には注意を払い、多用しない。クエリパイプラインを理解する。遅いダッシュボードは使われないことを心に留めておく。パフォーマンス留意事項データソース設計データを抽出できないかを検討する。データソース上での結合を避ける。結合処理はDB上で行った方が速い。データブレンドの使用は避ける。前処理で結合したデータソースを作れないかを検討する。使用しないカラムはTableau上に取り込まない。データソースのサイズは極力小さくする。小さいデータ型を使用する。)フィルターに使う計算フィールドはIF文を使わず真偽型を返すようにしてフィルターでTRUE/FALSEの値をフィルター項目として利用できないかを検討する。小数を含む演算(掛け算)は内部的にキャストが発生するのでパフォーマンスが悪くなるので避ける。項目のグルーピングは、計算フィールドを使わず「グループ」機能を利用する。項目の結合は、計算フィールドで結合せずに、「結合済みフィールド」機能を利用する。計算フィールドを使わず、プレフィックスやサフィックスなど書式設定を活用する。計算フィールド計算フィールドを使わず事前にDBで計算できないかを検討する。計算フィールド内での計算フィールドの参照を避ける。パフォーマンスを優先するならば、1つの計算フィールドにまとめることも検討すべき。表計算などを利用する場合に、生成された数式を確認して簡略化できないかを検討する。代用できる場合はこちらを利用(IFのネストは避ける)特に計算フィールドを使っている場合は、IF文では複数回計算フィールドを参照されるところを、CASE文で1回にすることが可能な場合ありIFをネストする場合は、データから判定回数が減るように順番を検討する。判定回数が減るように、データセットを確認しながらIF文のネストの順番は検討した方がよい。日付の場合、NOW()よりTODAY()を使うNOW()は時間まで取得するので、日付のみを利用する場合は、TODAY()の方がよい。