Snowflake

SQL

【SQL】数値項目を範囲ごとに集計 0件の行も含める方法

データ分析やレポート作成において、数値項目を範囲ごとに集計することはよくあります。 例えば、売上金額やユーザー年齢を特定の範囲でグループ化して、各グループの件数や合計値を確認したい場合です。 しかし、範囲に該当するデータが存在しない場合、そ...
SQL

【Snowflake】FROM句なしでリテラル値をSELECTする方法

Snowflakeでリテラル値をSELECTすることは、データベースの操作やクエリのテスト、あるいは特定のデータを簡単に作成する際に役立ちます。 この機能を使うことで、テーブルデータではなく、あらかじめ指定した定数値を結果として返すことがで...
BI

【Snowflake】Tableauのライブ接続でもレスポンスが速い

今まで色々なデータベース製品を触りましたが、Snowflakeでの集計が高速で、データを活用するうえで非常に有用なプロダクトあることを実感しています。 SnowflakeとBI Snowflakeにあるデータをもとに、TableauやPow...
SQL

【Snowflake】テーブル定義変更(列削除)

Snowflakeの既存テーブルの列削除(定義変更)が必要になり、SQL文に分からなくなったら最近はChatGPTやCopilotに聞いています。 以下のSQLが出てきたのですが、エラーになりました。 ALTER TABLE your_ta...
SQL

【Snowflake】UUIDを生成するUUID_STRING関数

複数テーブルにまたがってユニークなIDを生成したい場面があると思います。 そのような時には、UUIDを使用するのが便利です。 UUIDとは UUID(ユニバーサルユニーク識別子)は、標準化された128ビットの識別子であり、世界中のほぼ全ての...
Python

【Python】CSVファイルをSnowflakeのテーブルへインポートする方法

CSVファイルやTSVファイルなどに格納されたデータをSnowflakeのテーブルへインポートするPythonコードを記載します。 GUIでもインポートできますが、ファイルサイズの制限(50 MB)があり、やや不便です。 COPYコマンドの...
Power BI

Result download worker errorがSnowflakeとBIツールの接続時に発生

Tableau Desktop、Power BI DesktopからSnowflakeに接続した際に以下のエラーが発生しました。 Tableau (25) Result download worker error: Worker error...
Python

【Python】SnowflakeへSQLを発行しSELECT結果をデータフレームに取得する方法

SnowflakeにSQLを発行して、結果をデータフレームに取得し、ついでにCSVファイルに出力してみます。 ライブラリをインストールしておきます。 pip install snowflake-connector-python pandas...
ChatGPT

【SQL】LAG関数で1つ前の行の値を取得(履歴テーブル作成で利用)

SnowflakeのSQLで履歴テーブルを作成したのですが、LAG関数とその関連の関数が便利だったため、使い方について記載します。 SQLによる履歴テーブル作成 以下のようなテーブルAをもとに、IDごとの名称の履歴テーブル(FROM~TO形...