はじめに
Tableauの「カスタムSQL」は、データ接続時に自分でSQL文を記述して、必要な形に整えた状態でデータを取得できる機能です。
この機能は、Tableau DesktopやTableau Prepでデータを扱う際に、「データを元のデータベース側で処理してから持ってきたい」ケースでよく使われます。
たとえば、大規模データから条件を絞って取得したい場合や、集計・変換ロジックをSQLでまとめたい場合などに有効です。
今回はカスタムSQLのメリット、デメリット、実際の使用手順について解説します。
カスタムSQLのメリット、デメリット
メリット
- データベース上で加工・集計を行うためTableau上でデータの抽出や集計をするよりは処理負荷を減らすことができる。ケースによっては、パフォーマンス改善が期待できます。 (* 通常運用として大量データを頻繁にカスタムSQLで処理するようなケースは、データベース側でのデータマートを構築するアーキテクチャーを推奨しております)
- Tableau上では対応が難しい多段階結合やサブクエリも対応可能です。
デメリット
- 作業が属人化されデータ系ガバナンスが不透明になりやすいです。
- ローカルからインポートしたExcel、CSVなどでは使用できません。
- 接続しているデータベースにあったSQLの知識が必要です。
実際の操作
今回はご紹介のため、弊社の検証環境上に配置したサンプルスーパーストアのデータから、不要なNULLを削除する処理をカスタムSQLで実装してみました。
- OS:Windows 11 Pro
- Tableau Desktopバージョン:2025.1
- データベース:Google BigQuery
データベースとの接続
データソース選択画面で「サーバーへ」から「Google BigQuery」をクリックします ※表示されていない場合は「その他」をクリックして使用したいデータベースを選択します





カスタムSQLの使用
「新しいカスタムSQL」を選択します

おわりに
今回はカスタムSQLの基本的な操作について紹介しました。
今回は「NULL」を削除するだけの対応でしたが、ビックデータを扱う上で 難しい加工ではなく簡単なフィルタリングなど、データを事前に整えるだけでも Tableauのパフォーマンスの向上が期待できます。
しかし、多用してしまうと属人化が進みデータ系ガバナンスが不透明になってしまうため 個人での簡単な確認等で使用することをお勧めします。
まずは手元で簡単な整形を試してみてはいかがでしょうか。