返回 Skill 列表
extension
分类: 数据与分析无需 API Key

BI助手

实现帆软 FineReport 11.0 与 FineBI 7.0 企业级报表与自助 BI 产品能力。当用户需要中国式复杂报表(分组报表/交叉报表/主子报表/聚合报表/行列扩展/汇总统计)、决策报表与数据大屏(Dashboard 驾驶舱/图表联动/钻取)、参数查询(下拉框/日期控件/联动过滤)、数据填报(录入/校验/导入)、自助 BI 分析(探索分析/维度度量/快速计算/同比环比/累计排名)、自助分析仪表板(组件化布局/联动过滤/Tab页签/层级钻取)、数据可视化(50+图表类型/智能图表推荐)、数据预警与条件格式、导出打印(PDF/Excel/Word)等场景时使用。以 HTML+ECharts 和 Excel(openpyxl) 产出等价成果,无需安装帆软产品。触发词:FineReport、FineBI、帆软报表、帆软BI、中国式报表、分组报表、交叉报表、主子报表、报表大屏、数据大屏、驾驶舱、决策报表、数据填报、自助分析、自助BI、探索分析、仪表板、Dashboard、数据可视化、同比环比、钻取联动、数据预警、报表导出、报表设计。

person作者: user_b6ce042chubcommunity

Fanruan Suite — 帆软 FineReport 11.0 + FineBI 7.0 能力实现

Overview

本 Skill 让 WorkBuddy 在不安装帆软产品的情况下,产出与 FineReport 11.0(企业级报表)和 FineBI 7.0(自助式 BI)等价的分析成果。覆盖两大产品线:FineReport 报表能力(中国式复杂报表、决策报表/大屏、参数查询/填报、导出打印)与 FineBI 自助分析能力(数据准备/加工、自助探索分析、仪表板联动/钻取、快速计算、数据预警)。输出形态为 HTML+ECharts 交互式 Web 仪表板和 Excel(openpyxl) 中国式报表。

需求识别与产品线分流

接到需求后,先识别属于 FineReport 还是 FineBI 场景,再选择输出形态:

| 需求特征 | 产品线 | 输出形态 | 参考资源 | |---|---|---|---| | 中国式复杂报表 / 分组/交叉/主子/聚合 / 填报 / 导出 Excel | FineReport | Excel(.xlsx) | references/finereport-guide.mdscripts/generate_excel_report.py | | 数据大屏 / 驾驶舱 / Dashboard / 图表分析 / 联动钻取 | FineReport | Web(HTML+ECharts) | references/finereport-guide.mdassets/report-dashboard-template.html | | 自助分析 / 自助 BI / 探索分析 / 拖拽分析 / 同比环比 / 累计排名 | FineBI | Web(HTML+ECharts) | references/finebi-guide.mdassets/bi-dashboard-template.html | | 仪表板 / 多组件联动 / Tab页签 / 层级钻取 / 数据预警 | FineBI | Web(HTML+ECharts) | references/finebi-guide.mdassets/bi-dashboard-template.html | | 既要可视化又要数据文件 | 两者均可 | 混合:Web 展示 + Excel 下载 | 两个指南均需阅读 | | 仅需方案/设计文档 | 两者均可 | 方案文档(能力地图输出) | 对应参考文档 |

关键词速查

FineReport 关键词:报表、表格、分组、交叉、主子、聚合、大屏、驾驶舱、填报、导出、打印、PDF、Excel

FineBI 关键词:自助分析、自助BI、探索分析、仪表板、Dashboard、维度、度量、同比、环比、累计、排名、占比、钻取、联动、预警

核心工作流

Step 1 澄清需求(必做,不要假设)

确认以下要素,缺失时向用户提问:

  1. 产品线:FineReport 报表场景还是 FineBI 自助分析场景?
  2. 报表/分析类型:分组/交叉/主子/聚合报表?还是探索分析/仪表板/大屏?
  3. 数据来源:用户提供 CSV/Excel/JSON,还是需要内置示例数据?
  4. 维度与指标:行分组字段、列维度、汇总指标及计算方式(求和/均值/占比/环比/同比/累计/排名)。
  5. 交互需求:是否需要参数查询、联动、钻取、Tab 页签?
  6. 输出形态:浏览器预览(HTML)、导出 Excel、打印、还是用于汇报?

Step 2 准备数据

  • 将数据整理为结构化数据集(JS 数组 of object 或 Python list of dict),字段名清晰、类型正确。
  • 涉及数值计算(合计、占比、环比、同比、累计、排名等)时,必须用代码计算(Python 或 JS),禁止口算。
  • 数据量较大时,先做聚合再渲染,避免页面卡顿或文件过大。
  • 无真实数据时,使用内置示例数据并明确标注「示例数据,可替换为真实数据」。

Step 3 构建产物

Web 形态(HTML+ECharts)

  • FineReport 场景:复制 assets/report-dashboard-template.html 到工作区为骨架,替换示例数据、图表与控件。参考 references/finereport-guide.md 的布局与交互模式。
  • FineBI 场景:复制 assets/bi-dashboard-template.html 到工作区为骨架,替换数据集、组件与联动逻辑。参考 references/finebi-guide.md 的自助分析模式。
  • 图表选型与配置:参考 references/chart-and-component-reference.md 的选型决策树和 ECharts 配置模板。
  • 交付前必须用 present_files 打开 HTML 预览验证渲染。

Excel 形态(openpyxl)

  • 运行 scripts/generate_excel_report.py 作为起点,改造为用户需要的报表结构。参考 references/finereport-guide.md 的分组/交叉/主子/填报实现详解。
  • 在受管 venv 中安装 openpyxl(pip install openpyxl),禁止污染全局环境。

混合形态:Web 页面内提供「导出 Excel」入口,由 openpyxl 生成 .xlsx 文件供下载。

Step 4 质量检查(交付前必检)

  • [ ] 报表/分析类型与用户需求一致(分组/交叉/主子/聚合/探索分析/仪表板)
  • [ ] 合计、小计、占比、环比、同比等数值已由代码计算并核验
  • [ ] 主题适配:Web 页面背景与文字颜色匹配当前 IDE 主题(浅色/深色)
  • [ ] 金融/股票类指标遵循中国惯例:涨红跌绿、货币 ¥
  • [ ] 金额千分位、百分比 1 位小数、大金额用「万/亿」单位
  • [ ] 参数控件可用,过滤结果正确,联动/钻取无死链
  • [ ] Excel:表头合并正确、边框完整、数字格式、冻结窗格与打印设置合理
  • [ ] 示例数据有「可替换」标注
  • [ ] 生成的 HTML 单文件可独立打开预览,无外部依赖报错

FineReport 能力模块

模块 A:中国式复杂报表

  • 分组报表:行分组 + 组内明细 + 小计行 + 总计行。Web 用 <table> + rowspan 合并;Excel 用合并单元格 + SUM 公式。
  • 交叉报表:行维度 × 列维度双向扩展,交叉点为汇总值。先代码透视(JS reduce 或 Python pandas.pivot_table)再渲染。
  • 主子报表:主子表通过主键关联。Web 用 Tab 或联动明细区;Excel 用多 sheet + 超链接跳转。
  • 聚合/不规则报表:斜线表头(CSS transform)、多行表头(rowspan+colspan)、自由布局(CSS Grid)。
  • 详见 references/finereport-guide.md 第三章。

模块 B:决策报表与大屏

  • 组件化布局:参数面板 + KPI 指标卡 + 图表区 + Tab 页签 + 明细表。
  • 大屏风格(仅用户明确要求):深色渐变背景 + 发光描边 + 数字滚动 + 自动轮播。
  • 图表选型:趋势→折线,占比→饼/环形,对比→柱/条形,排名→横向条形,分布→散点/热力,地域→地图。
  • 交互:参数过滤重渲染、图表点击联动、钻取下钻。
  • 详见 references/finereport-guide.md 第四章。

模块 C:参数查询与填报

  • 参数面板:日期范围、下拉选择、文本框、多选。触发方式:查询按钮或即时过滤。
  • 联动:A 控件变化 → 重载 B 控件选项 → 刷新报表。
  • 填报:Web 用表单 + JS 输入校验;Excel 用 DataValidation(整数/小数/序列/日期/自定义公式)做录入校验。
  • 详见 references/finereport-guide.md 第五、六章。

模块 D:导出打印与调度

  • Web 导出window.print() + @media print、ECharts getDataURL() 导出 PNG、CSV 导出(含 BOM)、Excel 导出(openpyxl 或 SheetJS)。
  • Excel 导出print_areapage_setup(A4/横向/缩放)、print_title_rows(每页重复表头)、页眉页脚。
  • 定时调度:提示用户可将生成脚本配置为 WorkBuddy 定时任务(automation)。
  • 详见 references/finereport-guide.md 第七章。

FineBI 能力模块

模块 E:数据准备与加工(自助ETL)

  • 数据集管理:JS 全局数据集变量,字段类型声明(维度/度量/日期)。
  • 数据加工函数filterData(过滤)、groupBy(分组汇总)、addColumn(新增列)、sortData(排序)、pivot(交叉透视)。
  • 快速计算:同比(YoY)、环比(MoM)、累计、排名、占比。
  • 详见 references/finebi-guide.md 第三章。

模块 F:自助分析与仪表板

  • 组件化布局:KPI 卡 + 图表组件 + 表格组件 + 过滤组件,CSS Grid 12 列栅格。
  • 联动机制:全局过滤器 → 事件驱动 → 所有注册组件刷新。核心是 LinkageState 状态管理。
  • 钻取机制:层级钻取(区域→省份→城市),面包屑导航,上钻/下钻。
  • Tab 页签:多视图切换,每个 Tab 独立分析维度。
  • 详见 references/finebi-guide.md 第四章。

模块 G:数据可视化与智能推荐

  • 智能图表推荐:根据维度数、度量数、字段类型自动推荐最佳图表类型。
  • 调色板:帆软风格调色板 + 金融红涨绿跌 + 预警色系。
  • 详见 references/chart-and-component-reference.md

模块 H:数据预警与权限

  • 条件预警:指标阈值检测 + 表格条件格式(超阈值标红)+ KPI 卡预警样式。
  • 数据权限模拟:按角色过滤数据集(行权限),按字段控制可见性(列权限)。
  • 详见 references/finebi-guide.md 第五、七章。

通用规范(严格遵守)

1. 主题适配(强制)

Web 产物必须匹配当前 IDE 主题。用 CSS 变量定义色板(:root 浅色,[data-theme="dark"] 深色),主题切换时重建所有 ECharts 图表。ECharts 主题必须显式设置文本/轴线/网格颜色,禁用默认黑色。

2. 中国式数字习惯

  • 金额默认 ¥ + 千分位;百分比 1 位小数;大金额用「万/亿」单位。
  • 金融场景红涨绿跌(与欧美相反)。

3. 中文报表风格

表头居中加粗带底色、合并单元格表达层级、合计行突出(加粗/底纹)、数字右对齐。

4. 代码即事实

所有数值计算落地为代码并运行验证。不依赖口算。

5. 文件落盘

生成的 HTML/Excel 写入工作区并明确给出路径。Excel 用 openpyxl(在受管 venv 中安装)。

6. 示例数据标注

内置示例数据必须标注「示例数据,可替换为真实数据」,结构与真实场景一致。

Resources

references/

  • finereport-guide.md — FineReport 11.0 能力地图与实现指南:产品能力全景、能力→HTML/Excel 实现映射、中国式复杂报表详解(分组/交叉/主子/聚合)、决策报表与大屏设计、参数查询与联动、数据填报、导出打印、行业模板速查。
  • finebi-guide.md — FineBI 7.0 能力地图与实现指南:产品能力全景、能力→HTML 实现映射、数据准备与自助ETL(filter/groupBy/pivot/快速计算)、自助分析与仪表板设计(联动机制/钻取/Tab/面包屑)、数据预警与条件格式、智能图表推荐、权限模拟。
  • chart-and-component-reference.md — 图表与组件参考:图表选型决策树、ECharts 配置模板(折线/柱/饼/地图/热力/雷达)、调色板设计、交互模式(联动/钻取/Tab/数字滚动)、主题适配(CSS变量/切换/读取)、格式化函数(金额/百分比/日期)。

assets/

  • report-dashboard-template.html — FineReport 式报表/大屏起步模板:三段式布局(标题栏+参数面板+仪表板),含 KPI 指标卡、趋势折线图、品类饼图、区域柱状图、产品排名条形图、销售明细分组表(含小计/总计),内置示例数据,浅/深主题切换、打印导出、参数过滤联动。
  • bi-dashboard-template.html — FineBI 式自助分析仪表板模板:全局过滤器栏、Tab 三页签(经营总览/区域分析/产品分析),含 KPI 卡(同比环比)、趋势折线、品类饼图联动、环比柱状图(红涨绿跌)、累计面积图、区域排名可钻取、区域x品类热力图、产品雷达图、预警表格(条件格式)、面包屑导航。内置示例数据与联动状态管理。

scripts/

  • generate_excel_report.py — Excel 报表生成脚本:分组报表(区域分组+小计+总计+SUM公式)、交叉报表(行×列透视)、填报模板(DataValidation校验),含样式(表头底色/边框/数字格式)、冻结窗格、自动筛选、打印设置(A4横向/每页重复表头/页眉页脚)。直接运行生成 .xlsx 文件。

使用模式

模式 1:FineReport 报表场景

用户:"帮我做一个销售分组报表,按区域分组,有明细和小计,能导出Excel"
→ 读取 references/finereport-guide.md
→ 运行 scripts/generate_excel_report.py 改造
→ 或复制 assets/report-dashboard-template.html 做 Web 版
→ 交付 .xlsx 或 .html 文件

模式 2:FineBI 自助分析场景

用户:"帮我做一个自助分析仪表板,能按区域钻取,有同比环比,多Tab页签"
→ 读取 references/finebi-guide.md
→ 复制 assets/bi-dashboard-template.html 到工作区改造
→ 参考 references/chart-and-component-reference.md 选型
→ 交付 .html 文件,present_files 预览

模式 3:数据大屏场景

用户:"做一个数据驾驶舱大屏,深色背景,有地图和滚动数字"
→ 读取 references/finereport-guide.md 第四章(大屏设计)
→ 参考 references/chart-and-component-reference.md(大屏特殊组件)
→ 基于 assets/report-dashboard-template.html 改造为大屏风格
→ 交付 .html 文件

模式 4:方案设计文档

用户:"我们需要设计一套报表体系,帮我出个方案"
→ 读取对应参考文档的能力地图章节
→ 输出报表类型选型建议、数据流设计、权限方案、实施路径
→ 交付 Markdown 或 HTML 文档