Skip to content

Phase 95 — BI智能分析设计

版本: v4.5.0 创建日期: 2026-03-10 状态: ✅ 已实现


一、模块概述

Phase 95 实现BI智能分析引擎,支持自然语言转SQL查询、自动报表生成、可视化仪表盘、Z-score异常检测和线性趋势预测,提供5种内置报表模板,让数据分析零门槛。

1.1 核心目标

  1. NL→SQL转换: 自然语言描述自动转换为SQL查询,支持多表关联
  2. 智能报表: 自动生成分析报表,支持图表选择、指标计算和趋势标注
  3. 仪表盘: 可视化Dashboard编排,支持实时数据刷新和布局自定义
  4. 异常与预测: Z-score异常检测识别数据突变,线性回归趋势预测

1.2 技术架构

┌───────────────────────────────────────────────────────┐
│              BI Intelligence Engine                     │
│                                                        │
│  ┌──────────────────┐  ┌───────────────────────────┐  │
│  │  NL→SQL Engine    │  │  Report Generator          │  │
│  │  LLM语义解析      │  │  5种内置模板               │  │
│  │  Schema感知+SQL生成│  │  图表自动选择+指标计算     │  │
│  └──────────────────┘  └───────────────────────────┘  │
│  ┌──────────────────┐  ┌───────────────────────────┐  │
│  │  Dashboard Mgr    │  │  Analytics Engine           │  │
│  │  组件编排+布局    │  │  Z-score异常检测            │  │
│  │  实时数据刷新     │  │  线性回归趋势预测           │  │
│  └──────────────────┘  └───────────────────────────┘  │
│  ┌────────────────────────────────────────────────────┐│
│  │              Schedule & Export                       ││
│  │  定时报表 → PDF/Excel导出 → 邮件分发               ││
│  └────────────────────────────────────────────────────┘│
└───────────────────────────────────────────────────────┘

二、核心模块设计

2.1 BIEngine (enterprise/bi/bi-engine.js)

BI智能分析核心引擎,整合查询、报表、仪表盘和分析功能。

核心方法:

  • nlQuery(naturalLanguage, context) — 自然语言转SQL查询并执行(返回结果+SQL+置信度)
  • generateReport(config) — 基于模板或自定义配置生成分析报表
  • createDashboard(layout) — 创建可视化仪表盘(组件编排+数据绑定)
  • detectAnomaly(dataPoints, options) — Z-score异常检测(阈值可配,默认σ=3)
  • predictTrend(dataPoints, periods) — 线性回归趋势预测(指定预测周期数)
  • listTemplates() — 获取5种内置报表模板列表
  • exportReport(reportId, format) — 导出报表(PDF/Excel/CSV)
  • scheduleReport(reportId, cron) — 设置定时报表生成计划

2.2 内置报表模板

序号模板名称说明
1销售概览营收趋势、Top产品、区域分布
2用户分析活跃度、留存率、行为漏斗
3项目进度里程碑、任务完成率、风险矩阵
4财务报表收支对比、现金流、预算执行率
5运营监控系统性能、错误率、资源使用率

三、核心文件

文件说明
src/main/enterprise/bi/bi-engine.jsBI智能分析引擎(NL→SQL、报表、异常检测)
src/main/enterprise/bi/bi-ipc.jsIPC Handler注册(8个通道)

四、IPC Handlers

Channel说明
bi:nl-query自然语言转SQL查询并执行
bi:generate-report生成分析报表(模板或自定义)
bi:create-dashboard创建可视化仪表盘
bi:detect-anomalyZ-score异常检测
bi:predict-trend线性回归趋势预测
bi:list-templates获取5种内置报表模板
bi:export-report导出报表(PDF/Excel/CSV)
bi:schedule-report设置定时报表生成计划

五、数据库表

5.1 bi_reports — BI报表表

sql
CREATE TABLE IF NOT EXISTS bi_reports (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  template TEXT,              -- 模板名称(NULL表示自定义)
  config TEXT,                -- JSON: 报表配置(数据源、图表、过滤条件)
  result_data TEXT,           -- JSON: 最近一次生成的报表数据
  schedule TEXT,              -- Cron表达式(NULL表示不定时)
  status TEXT DEFAULT 'draft', -- draft | generated | scheduled
  created_by TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

5.2 bi_dashboards — BI仪表盘表

sql
CREATE TABLE IF NOT EXISTS bi_dashboards (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  layout TEXT,                -- JSON: 仪表盘布局(组件位置、尺寸)
  components TEXT,            -- JSON: 组件配置数组(数据绑定、图表类型)
  refresh_interval INTEGER DEFAULT 0, -- 自动刷新间隔(秒),0=不刷新
  created_by TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

六、测试覆盖

测试文件测试数量状态
src/main/enterprise/bi/__tests__/bi-engine.test.js20✅ 通过
合计20✅ 全部通过

测试要点

  • 自然语言转SQL解析正确性和多表关联
  • 5种内置模板报表生成完整性
  • 仪表盘组件编排和布局序列化
  • Z-score异常检测阈值和边界条件
  • 线性回归预测精度和空数据处理
  • 报表导出格式(PDF/Excel/CSV)正确性
  • 定时计划设置和触发验证

基于 MIT 许可发布