📊 每日報表生成

每天早上打開通訊軟體,一份整理好的業務報表已經等著你。這就是每日報表自動化——讓 Rose 幫你收集數據、分析趨勢、整理成易讀的格式。


情境描述

適用場景

場景報表內容
🛒 電商經營昨日營業額、訂單數、熱銷商品
📱 App 營運活躍用戶、新增用戶、留存率
🌐 網站管理瀏覽量、熱門頁面、流量來源
💰 財務管理收支明細、現金流、應收帳款
📊 行銷追蹤廣告成效、轉換率、ROI

預期效果

  • 節省時間:不用每天手動登入各平台查數據
  • 📈 即時掌握:一早就知道昨天的業務狀況
  • 🎯 快速決策:數據彙整後更容易發現趨勢
  • 📱 隨時隨地:手機就能查看報表

資料來源整合

常見資料來源

來源類型取得方式難易度
Google AnalyticsAPI 串接⭐⭐
資料庫SQL 查詢⭐⭐⭐
試算表Google Sheets API⭐⭐
第三方平台REST API⭐⭐⭐
CSV/JSON 檔案檔案讀取

資料整合流程

┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│   資料來源    │ → │   資料收集    │ → │   資料處理    │
├──────────────┤    ├──────────────┤    ├──────────────┤
│ • GA4        │    │              │    │              │
│ • 資料庫     │    │ Rose 執行    │    │ • 彙整       │
│ • API        │    │ 查詢/呼叫    │    │ • 計算       │
│ • 檔案       │    │              │    │ • 分析       │
└──────────────┘    └──────────────┘    └──────┬───────┘


                                        ┌──────────────┐
                                        │   產生報表    │
                                        ├──────────────┤
                                        │ • 格式化     │
                                        │ • 圖表化     │
                                        │ • 發送      │
                                        └──────────────┘

報表格式設計

基本報表結構

{`# 📊 每日業務報表
**日期:** 2026-03-21
**產生時間:** 08:00

---

## 📈 核心指標

| 指標 | 昨日 | 前日 | 變化 |
|------|------|------|------|
| 營業額 | $50,000 | $45,000 | +11% 🟢 |
| 訂單數 | 120 | 110 | +9% 🟢 |
| 客單價 | $417 | $409 | +2% 🟢 |
| 訪客數 | 2,500 | 2,800 | -11% 🔴 |

---

## 🏆 昨日亮點

- 營業額創本週新高
- 新品「XXX」銷售表現優異(售出 30 件)

---

## ⚠️ 需要注意

- 訪客數下降 11%,建議檢查流量來源
- 購物車放棄率略高(65%)

---

## 📋 今日待辦

- [ ] 跟進昨日未完成訂單
- [ ] 檢查庫存水位
- [ ] 回覆客戶反饋

---

💡 *這份報表由 Rose 自動生成*`}

報表設計原則

原則說明範例
重點先行最重要的數據放在最前面核心指標表格
對比清楚與前一天/上週比較變化百分比 + 顏色標示
視覺化使用 emoji 和表格🟢 成長 🔴 下降
行動導向提供下一步建議今日待辦清單

自動發送設定

使用 Cron 排程

{`# 每天早上 8 點生成並發送報表
0 8 * * * cd /home/node/.openclaw/workspace && node scripts/daily-report.js

# 每週一早上 8 點發送週報表
0 8 * * 1 cd /home/node/.openclaw/workspace && node scripts/weekly-report.js

# 每月 1 號早上 8 點發送月報表
0 8 1 * * cd /home/node/.openclaw/workspace && node scripts/monthly-report.js`}

報表生成腳本範例

{`// 每日報表生成腳本

const { getGA4Data } = require('./apis/google-analytics');
const { queryDatabase } = require('./apis/database');
const { sendTelegramMessage } = require('./apis/telegram');

async function generateDailyReport() {
  const today = new Date();
  const yesterday = new Date(today);
  yesterday.setDate(yesterday.getDate() - 1);
  
  // 收集數據
  const [gaData, orderData] = await Promise.all([
    getGA4Data(yesterday),
    queryDatabase('
      SELECT COUNT(*) as orders, SUM(total) as revenue
      FROM orders
      WHERE DATE(created_at) = DATE(?)
    ', [yesterday])
  ]);
  
  // 計算變化
  const prevDayData = await getPrevDayData(yesterday);
  const changes = calculateChanges(orderData, prevDayData);
  
  // 生成報表內容
  const report = formatReport({
    date: formatDate(yesterday),
    revenue: orderData.revenue,
    orders: orderData.orders,
    visitors: gaData.activeUsers,
    changes: changes
  });
  
  // 發送報表
  await sendTelegramMessage({
    chat_id: process.env.ADMIN_CHAT_ID,
    text: report,
    parse_mode: 'Markdown'
  });
  
  console.log('✅ 報表已發送');
}

generateDailyReport().catch(console.error);`}

使用 Heartbeat 檢查

{`# Heartbeat 任務清單

## 每日報表檢查

時間:每天 08:00
任務:
1. 檢查報表是否正常發送
2. 檢查資料是否完整
3. 如有異常,立即通知管理員

## 資料源健康檢查

時間:每天 06:00
任務:
1. 檢查 GA4 API 連線
2. 檢查資料庫連線
3. 檢查試算表權限
4. 記錄檢查結果`}

進階應用

多平台報表整合

{`# 📊 全平台每日報表

## 🛒 電商平台
| 平台 | 營業額 | 訂單數 | 狀態 |
|------|--------|--------|------|
| 官網 | $30,000 | 75 | 🟢 |
| 蝦皮 | $15,000 | 35 | 🟢 |
| momo | $5,000 | 10 | 🟡 |

## 📱 社群媒體
| 平台 | 追蹤數 | 互動率 | 新增貼文 |
|------|--------|--------|----------|
| FB | 5,200 | 3.2% | 2 |
| IG | 3,800 | 4.1% | 3 |
| LINE | 2,100 | 12% | 1 |

## 📧 電子報
- 發送數:1,500
- 開信率:25%
- 點擊率:3.5%

總計:營業額 $50,000 | 總訂單 120 | 總訪客 2,500`}

異常偵測與警報

{`# 異常偵測設定

alerts:
  revenue_drop:
    condition: "revenue < yesterday_revenue * 0.7"
    message: "🚨 營業額較昨日下降超過 30%"
    priority: high
    
  order_spike:
    condition: "orders > avg_orders * 2"
    message: "📈 訂單暴增,請確認庫存充足"
    priority: medium
    
  zero_sales:
    condition: "revenue == 0"
    message: "⚠️ 今日無銷售,請檢查系統狀態"
    priority: high
    
  traffic_drop:
    condition: "visitors < yesterday_visitors * 0.5"
    message: "🔴 流量異常下降,請檢查網站"
    priority: high`}

報表歷史追蹤

{`#!/bin/bash
# 報表歸檔腳本

REPORT_DIR="/reports/daily"
ARCHIVE_DIR="/reports/archive"
DATE=$(date +%Y%m%d)

# 建立月分目錄
MONTH_DIR="$ARCHIVE_DIR/$(date +%Y-%m)"
mkdir -p "$MONTH_DIR"

# 移動上個月的報表到歸檔ind "$REPORT_DIR" -name "report-*.md" -mtime +30 -exec mv {} "$MONTH_DIR/" \;

# 壓縮超過 3 個月的歸檔
find "$ARCHIVE_DIR" -name "*.tar.gz" -mtime +90 -delete

# 壓縮上個月歸檔
if [ "$(date +%d)" == "01" ]; then
    LAST_MONTH="$(date -d 'last month' +%Y-%m)"
    tar -czf "$ARCHIVE_DIR/$LAST_MONTH.tar.gz" -C "$ARCHIVE_DIR" "$LAST_MONTH/"
    rm -rf "$ARCHIVE_DIR/$LAST_MONTH/"
fi

echo "✅ 報表歸檔完成"`}

常見問題

Q: 報表資料不準確怎麼辦?

  1. 檢查資料來源 API 權限
  2. 確認時區設定正確
  3. 比對原始數據驗證
  4. 建立資料驗證機制

Q: 可以自訂報表時間嗎?

可以!修改 Cron 設定:

  • 早上 8 點:0 8 * * *
  • 晚上 6 點:0 18 * * *
  • 每 4 小時:0 */4 * * *

Q: 報表太長可以簡化嗎?

可以設定摘要模式:

  • 只顯示核心指標
  • 有異常才顯示詳細資訊
  • 提供「查看完整報表」連結

小結

📊 每日報表生成讓你每天早上就能掌握業務全貌:

  • 資料整合:連接各平台 API,自動收集數據
  • 視覺呈現:表格、emoji、顏色標示,易讀易懂
  • 自動發送:Cron 排程,定時送到你手中
  • 智能警報:異常自動通知,不錯過重要變化