8.5 KiB
8.5 KiB
Superset 儀表板建置指南
MOMO Pro System - BI 分析平台 建立日期: 2026-02-07
存取資訊
| 項目 | 值 |
|---|---|
| URL | https://monitor.wooo.work/superset/ |
| 帳號 | admin |
| 密碼 | <SUPERSET_ADMIN_PASSWORD> |
已建立的資料集
| 資料集 | 說明 | 主要時間欄位 |
|---|---|---|
daily_sales_snapshot |
每日銷售快照 | snapshot_date |
realtime_sales_monthly |
即時業績月度資料 | - |
monthly_summary_analysis |
月度總結分析 | report_month |
products |
商品資料 | updated_at |
price_records |
價格記錄 | timestamp |
需建立的儀表板
1. 銷售分析總覽 (Sales Analysis Dashboard)
對應頁面: /sales_analysis
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| 每日銷售趨勢 | Line Chart | daily_sales_snapshot | X軸: snapshot_date, Y軸: SUM(金額) |
| 銷售額 TOP 10 商品 | Bar Chart | daily_sales_snapshot | 依商品名稱群組,取前 10 名 |
| 銷售通路分佈 | Pie Chart | daily_sales_snapshot | 依通路群組 |
| 星期銷售熱力圖 | Heatmap | daily_sales_snapshot | X軸: 星期, Y軸: 時段 |
| 銷售數據表格 | Table | daily_sales_snapshot | 詳細銷售記錄 |
建立步驟:
- 前往 Charts > + Chart
- 選擇資料集
daily_sales_snapshot - 選擇圖表類型 (如 Line Chart)
- 設定 X 軸、Y 軸、分組欄位
- 點擊 Save 儲存圖表
- 將圖表加入儀表板
2. 當日業績追蹤 (Daily Sales Dashboard)
對應頁面: /daily_sales
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| 當日業績總覽 | Big Number | daily_sales_snapshot | 顯示今日總銷售額 |
| 業績達成率 | Gauge Chart | daily_sales_snapshot | 對比目標達成率 |
| 時段業績分佈 | Area Chart | daily_sales_snapshot | X軸: 時段, Y軸: 金額 |
| 商品銷售排行 | Bar Chart | daily_sales_snapshot | 今日銷售 TOP 20 |
| 業績明細表 | Table | daily_sales_snapshot | 可篩選日期的明細 |
篩選器設定:
- 新增 Time Filter 設定為
snapshot_date - 預設顯示今天的資料
3. 成長分析 (Growth Analysis Dashboard)
對應頁面: /growth_analysis
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| 月度成長趨勢 | Line Chart | realtime_sales_monthly | 顯示月度成長率 |
| 年增率比較 | Bar Chart | realtime_sales_monthly | YoY 比較 |
| 成長率 KPI | Big Number with Trendline | realtime_sales_monthly | 月成長率指標 |
| 品類成長分析 | Treemap | realtime_sales_monthly | 各品類成長貢獻 |
計算欄位 (Metrics):
-- 月增長率
(SUM(本月金額) - SUM(上月金額)) / SUM(上月金額) * 100
4. 月度總結 (Monthly Summary Dashboard)
對應頁面: /monthly_summary_analysis
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| 月度業績總覽 | Big Number | monthly_summary_analysis | 當月總業績 |
| 月度趨勢比較 | Line Chart | monthly_summary_analysis | 12 個月趨勢 |
| 月度業績表格 | Pivot Table | monthly_summary_analysis | 月份 x 指標 |
| 月環比分析 | Bar Chart | monthly_summary_analysis | MoM 比較 |
5. ABC 分析 (ABC Analysis Dashboard)
對應頁面: /abc_analysis/detail
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| ABC 分類圓餅圖 | Pie Chart | products | A/B/C 類商品佔比 |
| 帕累托曲線 | Dual Line Chart | products | 累計銷售貢獻 |
| ABC 商品列表 | Table | products | 可篩選分類的商品表 |
| 分類銷售佔比 | Sunburst Chart | products | 階層式銷售分佈 |
計算欄位 (需在 SQL Lab 建立虛擬資料集):
SELECT
i_code,
product_name,
total_sales,
SUM(total_sales) OVER (ORDER BY total_sales DESC) as cumulative_sales,
SUM(total_sales) OVER () as grand_total,
CASE
WHEN SUM(total_sales) OVER (ORDER BY total_sales DESC) / SUM(total_sales) OVER () <= 0.7 THEN 'A'
WHEN SUM(total_sales) OVER (ORDER BY total_sales DESC) / SUM(total_sales) OVER () <= 0.9 THEN 'B'
ELSE 'C'
END as abc_class
FROM products
WHERE total_sales > 0
ORDER BY total_sales DESC
6. 商品價格趨勢 (Price Trends Dashboard)
對應頁面: 商品看板的價格趨勢
建議圖表:
| 圖表名稱 | 圖表類型 | 資料集 | 說明 |
|---|---|---|---|
| 價格變動時間線 | Line Chart | price_records | 選定商品的價格歷史 |
| 今日價格變動 | Table | price_records | 今日有變動的商品 |
| 漲價/降價統計 | Bar Chart | price_records | 漲降價商品數量 |
| 價格變動熱力圖 | Heatmap | price_records | 時間 x 商品類別 |
篩選器:
- 商品篩選器 (product_id)
- 時間範圍篩選器 (timestamp)
建立儀表板步驟
Step 1: 建立圖表
- 登入 Superset
- 點擊 Charts > + Chart
- 選擇資料集 (如
daily_sales_snapshot) - 選擇圖表類型
- 設定維度 (Dimensions) 和指標 (Metrics)
- 設定篩選條件
- 點擊 Run 預覽
- 點擊 Save 儲存
Step 2: 建立儀表板
- 點擊 Dashboards > + Dashboard
- 輸入儀表板名稱 (如「銷售分析總覽」)
- 點擊 Edit dashboard
- 從右側 Charts 清單拖曳圖表到畫布
- 調整圖表大小和位置
- 新增篩選器 (Filter box)
- 點擊 Save
Step 3: 設定篩選器
- 在儀表板編輯模式
- 點擊 + Add filter (左上角)
- 選擇篩選類型:
- Time Filter: 時間範圍
- Select Filter: 下拉選單
- Range Filter: 數值範圍
- 選擇要影響的圖表
SQL Lab 進階查詢
對於複雜的分析需求,可以使用 SQL Lab 建立虛擬資料集:
範例: 銷售成長分析虛擬表
-- 建立虛擬資料集: sales_growth_analysis
WITH monthly_sales AS (
SELECT
DATE_TRUNC('month', snapshot_date) as month,
SUM(金額) as total_amount,
COUNT(DISTINCT 商品代碼) as product_count,
COUNT(*) as order_count
FROM daily_sales_snapshot
GROUP BY DATE_TRUNC('month', snapshot_date)
)
SELECT
month,
total_amount,
product_count,
order_count,
LAG(total_amount) OVER (ORDER BY month) as prev_month_amount,
(total_amount - LAG(total_amount) OVER (ORDER BY month)) /
NULLIF(LAG(total_amount) OVER (ORDER BY month), 0) * 100 as growth_rate
FROM monthly_sales
ORDER BY month DESC
使用步驟:
- 點擊 SQL Lab > SQL Editor
- 貼上 SQL 查詢
- 執行查詢確認結果
- 點擊 Save > Save Dataset
- 使用此虛擬資料集建立圖表
權限設定
建立唯讀角色
- 前往 Settings > List Roles
- 點擊 + Add
- 角色名稱:
MOMO_Viewer - 權限設定:
can read on Chartcan read on Dashboarddatasource access on [MOMO_UAT].[daily_sales_snapshot]- (其他需要的資料集權限)
建立用戶
- 前往 Settings > List Users
- 點擊 + Add
- 設定帳號密碼
- 指派角色
MOMO_Viewer
嵌入儀表板到現有系統
iframe 嵌入
<!-- 嵌入完整儀表板 -->
<iframe
src="https://monitor.wooo.work/superset/superset/dashboard/1/?standalone=true"
width="100%"
height="800px"
frameborder="0">
</iframe>
Superset 嵌入設定
- 前往 Settings > Feature Flags
- 啟用
ENABLE_DASHBOARD_EMBEDDING - 在儀表板設定中允許嵌入
排程報告 (未來功能)
Superset 支援排程發送報告:
- 前往儀表板
- 點擊 ... > Schedule Report
- 設定:
- 收件人 (Email)
- 排程頻率 (Daily/Weekly)
- 報告格式 (PDF/Image)
注意: 需要額外設定 SMTP 和 Celery Beat
常見問題
Q1: 圖表顯示「No data」
- 檢查時間篩選器範圍
- 確認資料集有資料
- 檢查 SQL 查詢條件
Q2: 連線到 MOMO_UAT 失敗
- 確認 PostgreSQL Pod IP 正確
- 檢查 superset_readonly 用戶權限
- 驗證網路連通性
Q3: 儀表板載入緩慢
- 減少單一儀表板的圖表數量
- 使用時間範圍限制資料量
- 考慮建立物化視圖
下一步
- 依照本指南建立 6 個儀表板
- 測試所有圖表功能
- 設定用戶權限
- 評估是否嵌入或取代現有頁面