こんな企業・チームに読んでほしい
本記事は、以下のような課題を抱える企業を想定しています。
Excelでの集計が限界に達している中小〜中堅企業
売上データが数万件を超え、ピボットテーブルでは重くて回らない。月次レポートの作成に毎回数時間かかっている。そんな状況に心当たりがあれば、まさにSnowflake + Streamlitの出番です。
BIツールのコスト・運用負荷がネックになっている企業
Tableau・Power BIなどのライセンス費用(年間数十万〜数百万円)に二の足を踏んでいる。BIサーバーの構築・保守を担える人材がいない。Streamlit in SnowflakeならSnowflakeの利用料に含まれるため、追加コストが発生しません。
データは溜まっているが活用できていない企業
基幹システムやkintone・SaaSにデータはあるが、横断的に見る手段がない。「まずは可視化したい」がスタートラインになっている企業にとって、最初の一歩として最適です。
社内にPython経験者がいるIT企業・DX推進チーム
BIツール固有の言語(DAX・LODなど)を新たに学ぶより、Pythonで書きたい。エンジニア主導でスピーディにダッシュボードを立ち上げたいチームに向いています。
年商数億〜数十億円規模の企業で、全国に拠点や取引先を持ち、商品カテゴリごとの売上分析や地域別の傾向把握が求められるケース。
今回作るもの
| 構成要素 | 内容 |
|---|---|
| データベース | SALES_DEMO(Snowflake上に構築) |
| データモデル | スタースキーマ(ファクト1テーブル + ディメンション3テーブル) |
| ダッシュボード | Streamlit in Snowflakeで可視化(KPI・月別推移・カテゴリ別・地域別・商品ランキング・顧客セグメント) |
データモデル設計(スタースキーマ)
今回採用したのは、分析用途の定番であるスタースキーマです。中央のファクトテーブル(売上トランザクション)を、商品・顧客・地域の3つのディメンションテーブルが取り囲む構成です。
ディメンションテーブル
| テーブル | 件数 | 内容 |
|---|---|---|
| DIM_PRODUCTS | 10件 | 商品マスタ。電子機器・周辺機器・消耗品の3カテゴリ |
| DIM_CUSTOMERS | 10件 | 顧客マスタ。大企業・中小企業・スタートアップの3セグメント |
| DIM_REGIONS | 5件以上 | 地域マスタ。東京・大阪・名古屋・福岡・札幌など全国をカバー |
ファクトテーブル
| テーブル | 件数 | 期間 | 内容 |
|---|---|---|---|
| FACT_SALES | 5,000件 | 2024/4〜2025/3(1年間) | 売上トランザクション |
ダミーデータですが、日本企業の商品名・顧客名・地域名を使っているので、デモやプレゼンでもリアリティがあります。
ダッシュボードの実装
Streamlit in Snowflakeでは、Pythonスクリプト1ファイルだけでダッシュボードが完成します。Snowflake内で動くため、接続情報の設定は不要。get_active_session() だけでデータにアクセスできます。
KPIカード + 月別売上推移
KPI表示と月別売上推移の折れ線グラフ
画面上部には4つのKPIカード(総注文数・総売上・平均注文額・顧客数)を横並びに表示しています。一目で全体の規模感を把握できます。
その下には月別売上推移の折れ線グラフ。2024年4月〜2025年3月の1年間で、売上のトレンドや季節変動が確認できます。
カテゴリ別売上 / 地域別売上
カテゴリ別売上(左)と地域別売上(右)の棒グラフ
画面を2分割し、左にカテゴリ別、右に地域別の棒グラフを配置しています。
- カテゴリ別 ― 電子機器が圧倒的に多く、周辺機器・消耗品と続きます。単価の違いが売上構成に直結していることがわかります
- 地域別 ― 東京が最大ですが、大阪・名古屋・福岡なども一定のボリュームがあり、全国に分散した売上構造が見えます
商品別売上ランキング
商品別売上ランキング(テーブル表示)
全商品の売上ランキングをテーブル表示しています。ノートPCが約6.4億円でトップ、次いでモニター・プリンターと高単価の電子機器が上位を占めています。
消耗品(HDMIケーブル・LANケーブル)は数量は多いものの、単価が低いため売上金額では下位に。商品戦略の検討材料として活用できます。
顧客セグメント別売上
顧客セグメント別(大企業・中小企業・スタートアップ)の売上比較
顧客を「大企業」「中小企業」「スタートアップ」の3セグメントに分類し、セグメント別の売上を棒グラフで表示しています。中小企業セグメントが最も売上が大きく、大企業・スタートアップが続く構成です。
Streamlit in Snowflakeのメリット
| 観点 | 従来のBI構成 | Streamlit in Snowflake |
|---|---|---|
| インフラ | BIサーバー + DB接続設定 | Snowflake内で完結 |
| セキュリティ | DB認証情報の管理が必要 | SnowflakeのRBACをそのまま利用 |
| 開発言語 | BI固有のDAX/LODなど | Python(学習コストが低い) |
| コスト | BIライセンス費用 | Snowflakeの利用料に含まれる |
| カスタマイズ | ツール依存 | Pythonで自由に拡張可能 |
Snowflake内で完結するため、データがSnowflakeの外に出ません。BIサーバーへのDB接続情報の管理が不要になり、セキュリティリスクを大幅に低減できます。
おすすめのユースケース
社内向けKPIダッシュボード
BIツール導入前の「まず可視化」に最適。Snowflakeにデータさえ入っていれば、最短30分でダッシュボードが立ち上がります。
営業・経営向けデモ
Snowflake導入提案時の具体的なアウトプット例として。「導入したらこんなことができます」を実際に動く画面で見せられます。
データ品質モニタリング
ETLパイプラインの結果をリアルタイムにチェック。データの整合性やレコード数の推移を常時監視する用途にも向いています。
プロトタイピング
本格的なBI導入前の要件整理・画面イメージ共有に。「こういう分析がしたい」を具体的な画面で関係者と合意形成できます。
まとめ
Snowflake + Streamlit in Snowflakeの組み合わせは、「データを貯める」と「データを見る」を1つのプラットフォームで実現できる強力なソリューションです。
今回のデモでは、KPI表示・時系列分析・カテゴリ分析・地域分析・ランキング・セグメント分析の6つのビューを持つダッシュボードを構築しました。約100行のPythonコードで、これだけの分析画面が作れます。
Snowflakeをすでにお使いの方も、これから導入を検討される方も、まずはStreamlit in Snowflakeでデータの可視化から始めてみてはいかがでしょうか。

