ブログ
BLOG

SnowflakeのTimeTravel機能を使って履歴データを可視化してみた。

author データマーケティングチーム

date 2023.10.31

update 2023.11.01

tags データ分析基盤

tags  BI, DWH, Snowflake, Tableau,

こんにちは!データマーケティングチームです。

皆さん、SnowflakeのTimeTravel機能をご存じでしょうか?

この機能はSnowflakeのオブジェクト(スキーマやテーブルなど)のデータを指定期間保持し、更新されたテーブルに対して任意の特定時点のデータを取り出すことが可能です。

利用用途としては、削除されたテーブルなどのオブジェクトデータの復元や過去データの複製など、バックアップの側面が多いかと思いますが、今回は過去のデータを取り出してTableauで可視化する方法をご紹介します。

■STEP1:Snowflakeでテーブルを作成


今回は、Salesforceの商談オブジェクトを模したダミーデータにおけるフェーズ履歴の可視化を実施していきます。

まずは、Snowflake上にデータを保持するテーブルを作成します。サンプルではテーブルを単純にするために、ID、作成日、商談名、フェーズ及び金額の5つの項目のみで構成しております。

create or replace table opportunity (

id varchar,

created_at timestamp_ntz,

name varchar,

stage_name varchar,

amount number

)

DATA_RETENTION_TIME_IN_DAYS = 14;

ここで重要なのが、オプションパラメータであるDATA_RETENTION_TIME_IN_DAYSの値となります。この値は、TimeTravel機能を使うことのできる期間(日数)を示します。Snowflakeのエディションによって指定できる日数の上限が異なり、Standard Editionの場合は最大1日、Enterprise Edition以上では最大90日まで設定することが可能です(サンプルコードでは14日分のデータを保持する設定としております)。なお、デフォルトでは1日で設定されております。

もし、既にあるテーブルでTimeTravel機能を使える期間を変更したい場合は、ALTERコマンドにて設定することが可能です。その際、コマンドを実行後に設定が反映されるため、例えば設定値を1日から14日に変更した場合、コマンド実行時点では14日分のバックアップはされていないので、注意が必要です。

ALTER TABLE <テーブル名> SET DATA_RETENTION_TIME_IN_DAYS = <指定期間>;

■STEP2:可視化用テーブルを作成


上記のテーブルを作成し、データの連携が完了したら、Tableauでの可視化用にデータを作成していきます。

まずは、実際にデータの取得ができるかSnowflake上で確認してみましょう。上記テーブルに1週間以上のデータが保持されていると仮定し、同IDの1週間前のフェーズを取得します。

with B as (
select
ID,
stage_name as before_stage -- 過去のフェーズをBEFORE_STAGEで定義
from opportunity
at (offset => -3600*24*7) -- 取得したい時点の秒数を入力(今回は7日前のため、7日前の秒数を指定)
)
select
T.*,
B.before_stage
from opportunity as T
left join B
on T.ID = B.ID
;

すると、現在のフェーズと過去のフェーズが取得できていることが確認できました。

blog01_クエリ結果.png

上記の結果をデータセットとしてTableauで可視化すると、以下のように現時点でのフェーズ別商談件数と1週間前のフェーズ別商談件数を表示することが可能となります。

ブログ用_ダッシュボード.png


■おわりに

いかがだったでしょうか。
今回は、SnowflakeのTimeTravel機能を活用して、Tableauで過去データの可視化をする方法をご紹介しました。

Salesforceをデータソースとしたときの可視化をご支援する上で、過去のステータスとの比較をしたいとのご要望を受けることが多いのですが、Snowflakeにデータを集めることによって上記のように実現することが可能です。また、その他のデータもSnowflake上に集約すれば、他のシステムからのデータと掛け合わせた高度な分析が可能になるかと思います。

弊社データマーケティングチームでは、Snowflakeの構築からTableauなどのBIツールでの可視化まで、一貫してのご支援が可能です。データ活用に対してお困りごとがございましたら、お気軽にお問い合わせください。

✔BIツールの導入を検討している、活用に困っている。
✔Account Engagement を使用しているが、それぞれの機能をうまく活用できていない。

上記のようなお悩みをお持ちの方は、ぜひ!お問い合わせください。

\お困り事はお気軽にご相談ください/ 

投稿者プロフィール
データマーケティングチーム

データマーケティングチーム(DataMarkting Team)

Tableau、CRM Analytics、Markting Cloud Intelligenceなどの導入・活用をお手伝いさせていただいているtoBeマーケティングのデータマーケティングチームが、BIの導入・活用におけるナレッジをお届けいたします。


ページトップへ