报表示例
常见报表类型的设计方法
报表类型概览
Sight Report 支持设计多种类型的报表,以下列举常见的报表类型及其设计思路。
1. 明细表 (清单报表)
最基础的报表类型,将数据逐行列出。
设计思路:设置表头行,在数据行的各单元格绑定对应字段,设置为行扩展即可。
示例:员工花名册、订单明细表
2. 分组汇总报表
对数据进行分组统计。
设计思路:
- 分组字段单元格设置行扩展
- 明细字段挂在分组字段的下方(作为子格)
- 使用
sum()、count()、avg()等函数在分组尾行添加汇总
示例:按部门汇总的销售报表、按区域统计的业绩表
3. 交叉表
同时按行和列两个维度展现数据。
设计思路:
- 行标题设置行扩展
- 列标题设置列扩展
- 交叉区域的值单元格同时受行列标题控制
示例:区域×月度销售交叉分析表
4. 主子报表
一张报表嵌入另一张报表。
设计思路:在单元格中插入子报表,并通过参数传递主报表的值给子报表。
示例:订单主表 + 订单明细子表
5. 图表报表
数据以图表形式展示。
设计思路:在单元格中插入图表组件,配置图表类型和数据绑定。支持柱状图、折线图、饼图等。
进阶做法
行号 / 序号
&A2 // 扩展序号 1, 2, 3...
seq() // 全局自增编号
占比与小计
// 当前行占总计的比例
formatNumber(C2 / sum(C2), "0.00%")
// 分组小计(写在分组尾行)
sum(C2)
同比 / 环比
// 环比 =(本期 - 上期)/ 上期,上期取上一行同列
var prev = cellOffset("C2", -1, 0);
isNull(prev) || prev == 0 ? "—" : percent((C2 - prev) / prev, 1)
复杂表头(斜线 / 多级)
- 斜线表头:在表头格设斜线,分隔"行维 / 列维"标题。
- 多级表头:上层标题格合并,下层细分为多列。
带查询条件的报表
定义参数,SQL 用 $参数 过滤,预览页用查询表单筛选:
SELECT dept, amount FROM sales
WHERE order_date BETWEEN $startDate AND $endDate
AND (dept = $dept OR $dept IS NULL)
(见 查询表单与参数)
单据 / 套打
固定版式 + 明细网格 + 终止线,毫米级套打定位,可加条码 / 二维码(见 单据模板概述)。
金额大写
numberToRMB(sum(C2)) // 合计金额转中文大写