お世話になります。
ストアAとストアBのそれぞれの売上データが1つのデータテーブルにまとまっており、それぞれのストアを別々のダッシュボードに表示しようと考えています。
カスタムSQLを利用して接続するのですが、パフォーマンス向上の観点でフィルタを付けるタイミングとして以下2パターンで悩んでいます。
①カスタムSQL内でストアAのみにフィルタをかけ接続し、再度新しいデータソースにて今度はストアBにみにして接続する。
②カスタムSQL内ではフィルタをかけず、シート毎にフィルタをかける。
どちらが速くなりますでしょうか。
Tableau内でフィルタ出来るのであれば、Tableau内で実施が良いという記事を見ましたが、このようなケースでも①の方がパフォーマンスが良くなるのでしょうか。
※ストアA、Bのデータを同時に利用するシートは一切存在しない前提になります。

環境次第なのでなんとも言えないところですが、理屈だけでいうとあまり変わらないか②のほうが早くなります。カスタムSQLはTableauによるクエリ最適化やキャッシュの対象外になる場面が出てくる(と言われている)ためです。
Connecting Through Custom SQL Causes Slow Performance | Tableau Software
理屈でいうと上述のような感じなのですが、その差を人間が体感できるかというと話は別です。また、使用しているデータベース製品とテーブルの切り方、データの結合の仕方によってはカスタムSQLのほうが明確に早い場合もあります。
他の選択肢としては
・シートごとにフィルタをかけるのではなくデータソースフィルタをかける
・テーブルを分ける
・(製品が対応していれば)マテリアライズドビューを使用する
といった方法が考えられます。更新頻度が多ければ(1分ごとにデータが追加/更新されるなど)データソースフィルタが、少なければ(1日1回更新とか週1回更新とか)マテビューがトータルのクエリ負担は小さくなるのではないかなと思います。