Alteryx Designer DesktopのIn-DBツールを用いてSnowflakeのデータを処理してみた
さがらです。
Alteryx Designer DesktopのIn-DBツールを用いてSnowflakeのデータを処理してみたので、その内容についてまとめてみます。
検証環境
- OS:Windows 11 64bit
- Alteryx Designer Desktop:2025.1
Snowflake用のODBCドライバのインストール・セットアップ
まず、Snowflake用のODBCドライバのインストールとセットアップを行います。
ODBCドライバのインストール
Alteryx Designer Desktopから接続するために、Snowflake用のODBCドライバをインストールします。今回はSnowflake公式から提供されているODBCドライバを用いて接続してみます。
以下のリンク先から、最新のドライバを選択しダウンロードします。

ダウンロードしたmsiファイルを起動してインストール完了後、下図のように表示されればOKです。

ODBCドライバのセットアップ
ODBCデータソースアドミニストレーター(64bit)を起動します。

システムDSNで追加を押します。

SnowflakeDSIIDriverを選択し、完了を押します。

Snowflakeの接続に必要な情報を入力し、Testを押して下図のように表示されれば無事に接続されている状態となります。最後にOKを押して、セットアップ完了です。

Snowflakeとの接続設定
Snowflakeとの接続設定を行います。左上のファイルから接続を管理を押します。

右上の+新規を押します。

Snowflakeを選択します。

テクノロジーでSnowflake ODBCを選択し、ODBC DSNの欄をクリックして、先程作成したシステムDSN名を選択し、右上の保存を押します。

保存後、同じ画面で下にスクロールして、+ 資格情報の接続を押します。

その後、接続に使う認証情報を入れる画面となるので、入力して、右上の接続テストを押します。問題なければ、右上の作成/リンクを押します。

In-DBツールの表示
デフォルトではIn-DBツールが非表示となっているため、ツールパレットの設定からインデータベースにチェックを入れて表示させます。


「接続In-DB」を用いてSnowflakeに接続
インデータベースから、接続In-DBツールを選択してドロップします。

接続In-DBツールを選択した状態で、接続名の横の▼から接続を管理を押します。

データソースをSnowflakeに変更し、新規を押します。

接続名に任意の名称を入力し、接続セットアップを押します。

先ほど作成したSnowflakeへの接続を選択し、作成した資格情報の横の接続を押します。


次に、書き込みタブの設定に移ります。読み込みドライバーと同じを選択します。

最後に、適用を押してOKを押します。

その後、下図のようにテーブルを選択したりクエリを記述する画面が表示されます。
今回は、テーブルタブから使いたいテーブルを選択して、OKを押します。

この後、下図のように選択したテーブルが表示されたら、使いたいテーブルの選択は完了です。

「集計In-DB」や「結合In-DB」などの各ツールを用いてワークフローを作成
この後、実際に作成したい処理を行います。
説明は割愛しますが、もう一つテーブルを追加して下図のようにワークフローを作成しました。
集計In-DB

結合In-DB

「閲覧In-DB」を用いて中間成果物となるデータを確認
Alteryx Designer DesktopのIn-DBツールには閲覧In-DBというツールがあり、これを使うことでワークフローの中間成果物となるデータを確認できるだけでなく、Snowflake上でどのようなクエリが実行されているか確認も可能です。
閲覧In-DBツールを下図のようにドロップし、集計In-DBツールとつなげて、選択したツールまで実行を押します。

すると、下図のように出力されるレコード一覧だけでなく、各カラムのデータの分布も確認が可能です。

Snowflake上でQUERY_HISTORYを見ると、各ツールごとにWITH句で切り分けたSELECT文が実行されていることがわかります。
WITH "Tool1_91c6" AS (SELECT * FROM "RAW"."JAFFLE_SHOP"."ORDERS"), "Tool2_6eda" AS (SELECT "USER_ID", MAX("ORDER_DATE") AS "LAST_ORDER_DATE", COUNT(*) AS "TOTAL_ORDER_COUNT" FROM "Tool1_91c6" GROUP BY "USER_ID") SELECT * FROM "Tool2_6eda" LIMIT 100

「データ書込In-DB」を用いてデータをSnowflakeのテーブルとして出力
最後に、データ書込In-DBツールを用いてワークフローを通して変換されたデータをSnowflakeにテーブルとして出力します。
データ書込In-DBツールをドロップし、左側の設定から出力先のテーブル名を入力します。ALTERYX.PUBLIC.CUSTOMERS_SUMMARYのように入力すると、別のデータベース・スキーマに対して出力可能です。

ここまで設定を行ったら、右上の実行を押してワークフロー全体を実行します。

無事に実行が成功すると、Snowflake上にテーブルが作られていることがわかります。

Snowflake上でQUERY_HISTORYを見ると、各ツールごとにWITH句で切り分けたSELECT文をベースにした、CTAS文が実行されていました。

最後に
Alteryx Designer DesktopのIn-DBツールを用いてSnowflakeのデータを処理して、テーブルの作成まで行ってみました。
各ツールごとにWITH句が切られた形でSnowflake用のクエリが生成されているのは、SQLの可読性が高くなって良いなと感じました!










