❄️

Tableau Desktop 上でSQLを書く(Snowflake接続版)

2025/02/16に公開

まえがき

昨日pythonを使用してTableau Desktop上でSQLを書いていたのですが、動作がちょっと遅くなってしまいました。

何か代案はないか色々触っており、Snowflakeとの接続を試していた時にカスタムSQLというものを見つけました。

これを使うことで速いSQLをTableau Desktop上で使用できるようになりました。

手順

Tableau Desktop上のテーブルの▼を押すと以下のようなドロップダウンが出てきます。

このカスタムSQLに変換というところを押すと、元データを出力できるクエリが出てきます。

このSQL文を使って新たなテーブルを作成することができるみたいです。
以下の新しいカスタムSQLというボタンを押して...

以下のようなクエリを入力します。

SELECT  "TITANIC"."AGE" * 10 AS "AGEx10",
"TITANIC"."PASSENGERID" AS "ID"
FROM "TITANIC"."PUBLIC"."TITANIC" "TITANIC"

このSQLは元のデータの年齢列の10倍した列を新たに作成しています。
また元のテーブルと紐づけられるようにPassengerIDをIDとして持ってきています。

このクエリを入力すると以下のように新たなテーブルが作成されます。

ただこの状態だとデータが使用できないので元データのPassengerIDと同じ内容のIDとを紐づけます。

これで使用できるようになったのでシートで実際に使うと...

元のデータの年齢の十倍された値が出力されました🙌(特に意味はないです。)

TabPyをTableau上で使用するよりは断然速くクエリできます。ただ数秒だけ処理が止まるかなと思います。
なので必要そうなSQLをTableau上で色々ためしてみて探し、最終的にはSnowflakeの方で必要な列をSQLで作成しておくというのが最適かもしれません。

Discussion