はじめに
データ分析の重要性が高まる中、社内で迅速に可視化し共有できる仕組みの整備は欠かせません。
Snowflakeのダッシュボード機能(Snowsight)を活用すれば、SQLベースで作成した分析結果を即座にグラフ化・共有でき、BIツール導入前の軽量分析にも最適です。
本記事では、筆者が実施した SnowflakeダッシュボードPoC(概念実証) の構築過程と成果をもとに、
社内チームで分析結果を高速かつセキュアに共有する方法を解説します。
PoC概要:Retail Sales Analysis Dashboard
本PoCでは、Snowflakeの標準機能のみを用いて軽量BIダッシュボードを構築しました。
目的は「データマート構築から可視化・共有までを、外部ツールに頼らずSnowflake単体で実現する」ことです。
📘 構成概要
| 層 | スキーマ | 主なオブジェクト |
|---|---|---|
| RAW | RAW |
SALES_RAW, CUSTOMERS_RAW, PRODUCTS_RAW, STORES_RAW, DATES_RAW
|
| CLN | CLN |
データ整形テーブル |
| MART | MART |
FACT_SALES, DIM_PRODUCT, DIM_STORE, DIM_CUSTOMER
|
| 可視化 | Snowsight Dashboard | Retail Sales Analysis |
⚙️ 技術スタック
- Snowflake Free Trial 環境
- Snowsight(Web UI)
- Internal Stage(CSVアップロード)
- Stream + Task による自動ロード(将来的拡張を見据え)
実際に構築したダッシュボード
以下は、Snowflake上で構築した Retail Sales Analysis Dashboard のスクリーンショットです。
🖼️ Retail Sales Analysis(PoC成果物)
このダッシュボードでは、以下の3種類の分析を実装しました:
- Sales by product category — 商品カテゴリ別売上を棒グラフで表示
- Sales ranking by store (Top 5) — 店舗別トップ5ランキング
- Sales trends (daily) — 日別売上推移を折れ線グラフで表示
💡 Snowsightは現時点で円グラフをサポートしていないため、カテゴリ構成比は棒グラフで代替。
ダッシュボード構築ステップ
1️⃣ ダッシュボードの作成
- Snowsightにログインし、「Dashboards」タブを選択
- 「+ Create Dashboard」→
Retail Sales Analysisを新規作成
2️⃣ チャート追加とクエリ設定
- 「ワークシート」よりSQLワークシートを追加
- 以下のSQLを設定し、実行
例:カテゴリ別売上集計クエリ
SELECT
p.category,
SUM(f.amount) AS total_sales
FROM MART.FACT_SALES f
JOIN MART.DIM_PRODUCT p ON f.product_id = p.product_id
GROUP BY p.category
ORDER BY total_sales DESC;
実行後に「チャート」タブに切り替えてグラフを編集。
タイトルを設定後、作成したワークシートをダッシュボードに移動。
権限設定と共有
PoCでは、ロールベースアクセス制御を組み合わせて安全に共有を実現しました。
※参照権限のないユーザに共有しても表示されないためご注意ください。
GRANT USAGE ON DATABASE RETAIL_POC TO ROLE ANALYST_ROLE;
GRANT USAGE ON WAREHOUSE WH_POC TO ROLE ANALYST_ROLE;
GRANT SELECT ON ALL TABLES IN SCHEMA MART TO ROLE ANALYST_ROLE;
- VIEWER:ダッシュボード閲覧のみ可
- EDITOR:ウィジェット編集・クエリ更新が可能
セカンダリロール廃止への対応
2024-08のSnowflakeアップデートでは「セカンダリロール」が廃止され、
ダッシュボード実行時はプライマリロールのみが有効となっています。
セキュリティガバナンスを意識された有効なアップデートとなっていますので、
ダッシュボードクエリ実行や参照など、権限周りは注意して設定をしてみてください。
今後の拡張構想
- Stream + Task によるデータ自動更新(定時集計処理)
- Power BI / Tableau連携による高度な可視化
- Tag-based Access Control による列レベルセキュリティ
本PoCで得た設計は、そのまま企業内の軽量BIアーキテクチャとして展開可能です。
まとめ
本記事では、Snowflake標準機能を使った ダッシュボードPoC構築 を紹介しました。
- Snowsightでのダッシュボード構成とグラフ設定
- VIEWER / EDITOR 権限の付与方法
- セカンダリロール廃止対応によるアクセス制御
このように、Snowflake単体でも軽量BIツールとして十分活用可能であり、
チーム内での高速な意思決定支援に役立ちます。
参考資料
- Snowflake公式ドキュメント|Dashboards
- Snowflake公式ドキュメント|Roles & Access Control
- Snowflake Blog
- Analytics Best Practices
🌐 運営ブログのご紹介
📘 MyWay Going(マイウェイ・ゴーイング)
データ連携基盤・ETL・DB設計を専門とするフリーランスエンジニアのポートフォリオサイトです。
Qiitaでの技術発信を軸に、活動実績まとめ・案件進行で得た学び・キャリア構築ノウハウを掲載しています。
気になる方はぜひご覧ください🙌
▶️ 技術発信のハイライト・活動実績・フリーランスとしての取り組みを整理
👉 MyWay Going|データエンジニア活動実績とキャリア戦略
