快速上手

2021-10-10 Guide
  • 开发人员
  • 报表
About 15 min

# 父子格

计算模型

Report的计算模型用一句话概括是:父格带动子格展开迭代,外加单元格之间计算。

在Report中单元格之间存在依赖关系,对于任意一个单元格都可以设置它的 左父格上父格

  • 默认单元格父格
    • 左父格 是其最近左边与自身位于同一行的单元格;
    • 上父格 其最近上方与自身位于同一列的的单元格。
  • 如果一个单元格位于第一行,那默认它就没有上父格,同样,如果位于第一列,默认它就没有左父格。
  • 打开报表设计器,选中任意单元格,都可以在其属性面板看到它的默认上父格或左父格,如下图所示:
  • 更改父格:选中单元格之后,我们可以手动更改它的左父格或上父格或设定父格为“无”
  • 单元格展开:任意单元格在绑定数据集中某个字段时,如果这个字段有一条以上的数据,那么单元格就可以展开以显示这些数据。
  • 展开方向:对于父格而言,父格展开时会带动子格一起展开,如父格向下展开,则带其下所有子格及子格的子格一起子格绑定的数据集字段数据在展开时,同样也会带动其下子格一起展开,而当前子格的父格如与子格处于同一行或列,则会将父格拉大。

利用上述迭代单元格的特性,我们就可以制作出各种复杂的报表样式,掌握了这一报表计算模型的特点,是开发报表的前提。

# 设计区介绍

# 数据源配置

须知

  • Report计算模型需要把数据集查询对应的明细数据加载到JVM内存中去,以便后续在任意位置做任意聚合算法的数据计算, 而BI对应数据集一般都比较大,想象一下一个百万、千万甚至上亿条数据表加载到JVM内存之后必然发生内存溢出,所以不能直接用做报表的数据集
  • v1.10之后支持通过BI多维查询引擎把聚合之后的数据加载为报表数据集, 避免了手写SQL
  • 多源计算: Report查询可以配置多个不同源的查询,数据集之间(不同的数据源MySQL和Oracle)可以在内存中进行关联计算
  • 同时为了防止数据集加载撑爆内存,我们对单个数据集最大记录数做了最大10W条记录限制,后续会调整优化或允许用户根据自身服务器性能配置;

  1. 点击数据栏右上方数据源添加图标
  2. 弹窗数据源选择
  3. 在数据源节点右边点击按钮 输入非重复数据集英文名称,后续需要在单元格、表达式中重复使用,编辑查询定义数据集
  4. 预览数据、确认关闭

# BI数据集对接

  1. 点击数据栏右上方数据源添加图标
  2. 新建一个数据集分组
  3. 在数据集分组右边点击按钮
    • 输入非重复数据集英文名称,后续需要在单元格、表达式中重复使用
    • 选择汇总维度与指标定义查询
  4. 预览数据、确认关闭

# 单元格类型

提示

目前所有单元格内容均不支持在表格设计直接输入,从 v1.15 开始支持 拖拽 数据集字段到单元格

目前支持的单元格类型有:

单元格类型 解释 输入方式
普通文本 常用作标题、表头、描述性文本 表格中选中目标格, 在右方属性栏输入, 支持环境变量解析
数据集 主要动态数据来源单元格 表格中选中目标格,点击数据集节点自动填入
表达式 常用于单元格直接计算 表格中选中目标格,属性栏->单元格类型下拉选择表达式,输入表达式内容
斜线表头 斜线表头 表格中选中目标格,属性栏->单元格类型下拉选择斜线表头,输入分区文本

# 普通文本

文本单元格比较简单,你可以像操作Excel单元格一样输入任何描述性静态文本,调整格式、字体、颜色等配置

  • 在编辑文本内容之前请确认属性栏单元格名称为正确目标格
  • 在文本单元格中支持使用环境变量,环境变量使用参照使用变量章节
  • 输入内容正常情况下会及时生效,如果没有生效请尝试点击确认按钮手工更新

# 展开配置

当单元格绑定的数据有多个值,如单元格类型为数据集聚合方式为分组为列表或表达式时支持配置数据展开方向

下一章节介绍数据集类型单元格配置

# 数据集单元格与表达式单元格

数据集单元格与表达式单元格可展开的动态单元格,后面有专项章节介绍

Last update: February 24, 2025 10:55