Files
ewoooc/docker/superset/DASHBOARD_GUIDE.md
OoO d6d8777e41
All checks were successful
CD Pipeline / deploy (push) Successful in 1m12s
V10.601 收斂 Gemini 與密鑰治理
2026-06-06 14:52:46 +08:00

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 詳細銷售記錄

建立步驟:

  1. 前往 Charts > + Chart
  2. 選擇資料集 daily_sales_snapshot
  3. 選擇圖表類型 (如 Line Chart)
  4. 設定 X 軸、Y 軸、分組欄位
  5. 點擊 Save 儲存圖表
  6. 將圖表加入儀表板

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

對應頁面: 商品看板的價格趨勢

建議圖表:

圖表名稱 圖表類型 資料集 說明
價格變動時間線 Line Chart price_records 選定商品的價格歷史
今日價格變動 Table price_records 今日有變動的商品
漲價/降價統計 Bar Chart price_records 漲降價商品數量
價格變動熱力圖 Heatmap price_records 時間 x 商品類別

篩選器:

  • 商品篩選器 (product_id)
  • 時間範圍篩選器 (timestamp)

建立儀表板步驟

Step 1: 建立圖表

  1. 登入 Superset
  2. 點擊 Charts > + Chart
  3. 選擇資料集 (如 daily_sales_snapshot)
  4. 選擇圖表類型
  5. 設定維度 (Dimensions) 和指標 (Metrics)
  6. 設定篩選條件
  7. 點擊 Run 預覽
  8. 點擊 Save 儲存

Step 2: 建立儀表板

  1. 點擊 Dashboards > + Dashboard
  2. 輸入儀表板名稱 (如「銷售分析總覽」)
  3. 點擊 Edit dashboard
  4. 從右側 Charts 清單拖曳圖表到畫布
  5. 調整圖表大小和位置
  6. 新增篩選器 (Filter box)
  7. 點擊 Save

Step 3: 設定篩選器

  1. 在儀表板編輯模式
  2. 點擊 + Add filter (左上角)
  3. 選擇篩選類型:
    • Time Filter: 時間範圍
    • Select Filter: 下拉選單
    • Range Filter: 數值範圍
  4. 選擇要影響的圖表

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

使用步驟:

  1. 點擊 SQL Lab > SQL Editor
  2. 貼上 SQL 查詢
  3. 執行查詢確認結果
  4. 點擊 Save > Save Dataset
  5. 使用此虛擬資料集建立圖表

權限設定

建立唯讀角色

  1. 前往 Settings > List Roles
  2. 點擊 + Add
  3. 角色名稱: MOMO_Viewer
  4. 權限設定:
    • can read on Chart
    • can read on Dashboard
    • datasource access on [MOMO_UAT].[daily_sales_snapshot]
    • (其他需要的資料集權限)

建立用戶

  1. 前往 Settings > List Users
  2. 點擊 + Add
  3. 設定帳號密碼
  4. 指派角色 MOMO_Viewer

嵌入儀表板到現有系統

iframe 嵌入

<!-- 嵌入完整儀表板 -->
<iframe
    src="https://monitor.wooo.work/superset/superset/dashboard/1/?standalone=true"
    width="100%"
    height="800px"
    frameborder="0">
</iframe>

Superset 嵌入設定

  1. 前往 Settings > Feature Flags
  2. 啟用 ENABLE_DASHBOARD_EMBEDDING
  3. 在儀表板設定中允許嵌入

排程報告 (未來功能)

Superset 支援排程發送報告:

  1. 前往儀表板
  2. 點擊 ... > Schedule Report
  3. 設定:
    • 收件人 (Email)
    • 排程頻率 (Daily/Weekly)
    • 報告格式 (PDF/Image)

注意: 需要額外設定 SMTP 和 Celery Beat


常見問題

Q1: 圖表顯示「No data」

  • 檢查時間篩選器範圍
  • 確認資料集有資料
  • 檢查 SQL 查詢條件

Q2: 連線到 MOMO_UAT 失敗

  • 確認 PostgreSQL Pod IP 正確
  • 檢查 superset_readonly 用戶權限
  • 驗證網路連通性

Q3: 儀表板載入緩慢

  • 減少單一儀表板的圖表數量
  • 使用時間範圍限制資料量
  • 考慮建立物化視圖

下一步

  1. 依照本指南建立 6 個儀表板
  2. 測試所有圖表功能
  3. 設定用戶權限
  4. 評估是否嵌入或取代現有頁面