初心者向け、カスタムSQLのご紹介

 

はじめに

Tableauの「カスタムSQL」は、データ接続時に自分でSQL文を記述して、必要な形に整えた状態でデータを取得できる機能です。

この機能は、Tableau DesktopやTableau Prepでデータを扱う際に、「データを元のデータベース側で処理してから持ってきたい」ケースでよく使われます。

たとえば、大規模データから条件を絞って取得したい場合や、集計・変換ロジックをSQLでまとめたい場合などに有効です。

今回はカスタムSQLのメリット、デメリット、実際の使用手順について解説します。


カスタムSQLのメリット、デメリット

メリット

  1. データベース上で加工・集計を行うためTableau上でデータの抽出や集計をするよりは処理負荷を減らすことができる。ケースによっては、パフォーマンス改善が期待できます。 (* 通常運用として大量データを頻繁にカスタムSQLで処理するようなケースは、データベース側でのデータマートを構築するアーキテクチャーを推奨しております)
  2. Tableau上では対応が難しい多段階結合やサブクエリも対応可能です。

デメリット

  1. 作業が属人化されデータ系ガバナンスが不透明になりやすいです。
  2. ローカルからインポートしたExcel、CSVなどでは使用できません。
  3. 接続しているデータベースにあったSQLの知識が必要です。

実際の操作

今回はご紹介のため、弊社の検証環境上に配置したサンプルスーパーストアのデータから、不要なNULLを削除する処理をカスタムSQLで実装してみました。

  1. OS:Windows 11 Pro
  2. Tableau Desktopバージョン:2025.1
  3. データベース:Google BigQuery

データベースとの接続

 データソース選択画面で「サーバーへ」から「Google BigQuery」をクリックします ※表示されていない場合は「その他」をクリックして使用したいデータベースを選択します

  OAuthでのサインインを選択します
  接続が完了したら「請求プロジェクト」、「プロジェクト」を選択します ※Google BigQueryの場合
  あらかじめデータベースに格納していた「サンプルスーパーストア」のデータを確認します
  開いたデータの中に集計に不要な「NULL」が含まれていることが確認できたのでカスタムSQLで削除したいと思います
 

カスタムSQLの使用

「新しいカスタムSQL」を選択します
  表示された「カスタムSQLの編集」画面で実行するSQLを入力し、OKを押します ※接続しているデータベースにあったSQLを入力します
  出力されたデータで「NULL」が除かれたことが確認できました

おわりに

今回はカスタムSQLの基本的な操作について紹介しました。

今回は「NULL」を削除するだけの対応でしたが、ビックデータを扱う上で 難しい加工ではなく簡単なフィルタリングなど、データを事前に整えるだけでも Tableauのパフォーマンスの向上が期待できます。

しかし、多用してしまうと属人化が進みデータ系ガバナンスが不透明になってしまうため 個人での簡単な確認等で使用することをお勧めします。

まずは手元で簡単な整形を試してみてはいかがでしょうか。

  ShtockData

お問い合わせフォーム

お問い合わせ項目を選択してください