帆软自定义数据源实现一张复杂报表

时间:2024-03-16 09:51:06

复杂报表格式

所做的项目为建筑行业预算背景,预算的复杂度想必大家有一个初步的预估。
如下图所示,为选出来的一张具有代表性的报表:
帆软自定义数据源实现一张复杂报表
简单做一下说明:
- 第一列的“合计”以上的浅褐色部分是动态扩展的;
- 表头的浅蓝色部分是动态扩展的;
- 主体部分的白色为一个数据源,与上述两个部分存在交叉;
- “合计”右边的黄色部分也为一个数据源,与第二个部分存在交叉;
- 主体的白色部分和黄色的合计部分,不是直接提取的,而是经过分维度合并的;

报表数据源分析

经过上述分析,需要实现如下几个数据源:
- 浅褐色部分对应的“末级项目拆分”数据源;
- 浅蓝色表头部分对应的“二级分部”数据源;
- 白色主体部分对应的“按项目拆分合并的清单”数据源;
- 黄色主体部分对应的“按整个项目合并的清单”数据源;
- “按项目拆分合并的清单”与“二级分部”交叉的数据源;
- “按整个项目合并的清单”与“二级分部”交叉的数据源;

报表设计分析

在进行报表设计的时候,有以下几点需要注意:
- “末级项目拆分”数据源做纵向扩展,数据设置为“列表”;
- “二级分部”数据源做横向扩展,数据设置为“列表”;
- “按项目拆分合并的清单”要按照“末级项目拆分”做过滤,过滤条件为项目ID;
- 交叉数据源要按两个维度做过滤,过滤条件为合并清单ID以及分部ID;
设计器概要截图如下:
帆软自定义数据源实现一张复杂报表

上述这张报表属于一张中等难度的报表,交叉数据源涉及两个维度。
另有一张报表,交叉数据源涉及四个维度,三个过滤条件,这里就不泄露了。