发布日志v2.4
# 数据集
# 新增统一函数
# 日期周期首天
- startOfYear: 获取日期所在年份的第一天
- startOfQuarter: 获取日期所在季度的第一天
- startOfmonth: 获取日期所在月份的第一天
- startOfweek: 获取日期所在周的第一天
# 累计日期判断
- inYtd: 判断传入日期是否在年累计日期范围内
- inQtd: 判断传入日期是否在季度累计日期范围内
- inMtd: 判断传入日期是否在月度累计日期范围内
- inWtd: 判断传入日期是否在周累计日期范围内
-- 年累计销售额-方案1:
sum(IF(INYTD(`r_date`), `store_sales`, 0))
-- 年累计销售额-方案2:
{EXCLUDE : sum(`store_sales`) : INYTD(`r_date`)}
-- 去年同期-方案1:
sum(
IF( INYTD(
`r_date`,
addYear(CURRENT_DATE(), -1)
),
`store_sales`, 0)
)
-- 去年同期-方案2:
{
EXCLUDE : sum(`store_sales`) :
INYTD(`r_date`, addYear(CURRENT_DATE(), -1))
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 数据集预定义维度排序规则
- 在数据集定义阶段支持设置维度的排序规则

- 后续在图表设计阶段添加该维度时,将直接使用预定义排序;进行层级下钻时,也可沿用预定义规则

# 图表/自助分析
# 行/列小计统计 支持是否包含隐藏

# 新图表-树形表重要
# 基础

# 排序
- 自定义排序

- 指标排序的时候,支持所有层级行维汇总排序

# 值样式
- 进度条、热力图

# 条件样式
- SVG 条件样式图标配置
- 行/列汇总,总计 条件格式

# 汇总
- 列汇总支持表达式
- 行汇总,行小计表达式
# 隐藏系列维度
隐藏系列维度,用于按需隐藏表格中不必要的字段,优化数据展示的聚焦性:

功能效果
通过隐藏“Food”品类的“开销”字段,表格结构和数据展示发生如下变化:
| 隐藏前(原始表格) | 隐藏后(优化表格) |
|---|---|
| 包含“Food”品类的“开销”列,数据维度较杂 | 仅保留“Food”品类的“销售额”列 |
| 多列并行,视觉上信息密度高 | 列数减少,聚焦“销售额”维度,分析更直观 |
功能价值
- 聚焦分析重点:当仅需分析“销售额”时,隐藏“开销”字段可避免无关数据干扰,提升分析效率。
- 简化表格结构:减少列数后,表格层级更清晰,便于快速理解数据逻辑。
- 适配场景需求:支持根据业务场景(如“仅关注营收不关注成本”)灵活调整字段可见性。
该功能通过“字段级隐藏+结构自适应调整”,帮助用户在复杂数据表格中快速提炼核心信息,是BI工具“数据可视化个性化定制”能力的重要体现。
# 联动

本功能支持在数据可视化表格(如树形表)中配置多维度联动规则,实现“点击单元格触发关联数据展示”的交互效果,助力用户深入分析数据细节。 核心特性:
# 1. 通用联动配置
通过左侧“关联条件编辑”面板,可定义联动的触发逻辑:
- 触发部位:支持点击表格部位区分“数据/行表头/列表头”,“数据"即点击表格数据单元格时触发联动;
- 触发指标:支持精准控制联动的触发指标;
# 2. 联动数据区分
支持为不同联动事件配置差异化数据展示,例如:
- 同一“开销”列可触发“联动到数据集”和“累计销售”两个独立联动事件(如图中树形表的“开销”列单元格触发的两个联动选项),分别展示不同维度的关联数据,满足多场景分析需求。
# 3. 多联动支持
允许在同一表格中为单个字段配置多个联动事件(如图中“开销”列定义2个联动事件),用户可根据分析目的选择不同联动逻辑,实现“一单元格多分析路径”的灵活交互。
# 4. 联动事件可视化标记
配置联动的单元格会以下划线样式突出显示(如图中树形表内“开销”列的红色下划线单元格),直观提示用户该单元格具备联动功能,提升交互体验的辨识度。
该功能通过“配置灵活+展示清晰”的设计,帮助用户在数据分析过程中快速穿透数据层级,从汇总数据一键跳转至细节数据,大幅提升分析效率。
# 导出
- 单表导出:针对单个树形表单独导出,输出为 Excel 格式,精准获取目标表格数据。
- 看板导出:树形表所在看板整体导出,保留看板内表格布局及关联关系,实现批量数据导出。
# 样式配置

# 数据填报新模块

# 支持数据库存储
表单数据存储方案(适配主流开源关系型数据库) 选用 MySQL 与 PostgreSQL(国内最广泛的两款开源关系型数据库),覆盖 90%+ 开源关系型数据库使用场景
- MySQL
- Postgresql

# 表单设计

# 标题配置
点击标题区,激活右侧标题文案配置区域,也可以直接在右边栏选择 表单属性 -> 表单标题 进行标题配置

# 添加组件
左侧表单组件栏选择需要添加的组件类型,再通过点击组件栏的组件,或者拖拽组件栏的组件,将组件添加到表单中

# 组件替换
组件数据在数据库中存储字段为标签名称,如果用户在表单发布后(已经收集了历史数据),需要修改组件交互类型,如:从文本输入改为下拉选择,
可以通过组件替换功能仅改变表单组件类型,其他通用属性不变更

# 组件通用配置
点击表单设计器中已添加的组件激活组件,激活组件之后,右边栏对激活的组件进行配置。

# 字段管理
- 字段名称映射规则
组件标签名直接对应数据库表字段名称,支持中文名称(如“客户姓名”“订单金额”),无需手动维护字段映射关系,降低配置门槛。 - 重名自动处理
若添加两个相同标签名的组件,保存表单时系统自动对重复标签名重命名(如“联系方式→联系方式_1”),避免数据库字段冲突,保障存储规范性。 - 字段名灵活修改
直接修改组件标签名即可同步更新数据库字段名,后台通过组件唯一ID判断操作类型:- 新增组件: 创建对应数据库字段;
- 已有组件: 更新数据库字段名(保留历史数据),无需手动操作SQL。
- 数据库表名自定义配置
支持可视化配置表单对应的数据库表名(如“form_customer_2025”),支持按业务场景(如部门、年份)分类命名,便于数据管理与检索。
- 简化字段配置流程,非技术人员也可快速完成表单与数据库的字段映射;
- 避免手动操作数据库的风险,通过系统自动化处理保障数据一致性;
- 适配动态表单场景,支持字段名称、表名的灵活调整,满足业务迭代需求。

# 表单发布

表单发布实例:是指基于同一个表单模板,在不同场景、时间或业务需求下生成的独立发布版本。
其核心机制是:多个发布实例共享同一张数据表存储数据,通过发布实例 ID(如链接中releaseId参数)和发布实例名(如 “发布二 3”“新的发布”)进行区分;
数据分析场景:既支持多实例数据的联合分析(如对比不同实例的填报趋势),也能实现单实例的独立分析(如聚焦某一实例的填报详情)。
# 表单数据管理
# 查看数据
您可以通过以下几种形式查看表单数据
- 表单设计器 -> 表单发布列表
- 表单数据管理 -> 查看所有表单发布实例以及数据填报情况

# 数据过滤

# 修改单条数据
表单数据表格支持编辑,文本组件、下拉选择、日期选择、上传组件等,双击单元格切换单元格状态进入编辑模式,多选、单选、开关、评分等组件,编辑状态与查看状态采用视图统一, 即不用双击,直接编辑数据。

# 批量导入数据

数据管理支持批量数据导入
- 文件上传
- 支持拖放或点击上传Excel文件(仅支持.xlsx格式,单个文件不超过10MB),图中已选择示例文件“示例-超市-20250919_155521.xlsx”。
- 跳过行数配置
- 可设置需要跳过的行数(如标题行、说明行),图中设为“1”,用于过滤Excel中无需导入的前置行数据。
- 字段映射区域
| 配置项 | 说明与价值 |
|---|---|
| 源字段 | 对应Excel文件中的原始字段(如“订单日期”“发货日期”),是数据导入的来源。 |
| 目标字段 | 选择系统中匹配的字段(如“发货日期”“数量”),或新建字段(如“订单日期”对应新建的“日期”字段)。 |
| 是否新建 | 在不选择目标字段的前提下,勾选后可创建系统中不存在的字段,支持选择字段类型(如“日期(Date)”)并命名(如“日期”),满足自定义数据结构的需求。 |
通过该界面,可实现Excel数据与系统字段的精准映射,既支持直接匹配已有字段,也能灵活新建字段拓展数据维度,确保导入数据的规范性和可用性。
# 基于批量导入的表单数据初始化表单
通过 “批量导入新建字段 + 后期组件类型替换” 的方式,可快速完成空白表单的结构化数据初始化 —— 既借助已有数据搭建表单基础框架,又支持后续精细化优化组件及数据类型,大幅提升表单创建效率
# 数据分析
# 临时分析(即席分析)
点击分析按钮一键进入自助数据分析

# 数据源
# 接入填报数据源

# 看板
# 联动常量支持环境变量解析输入
功能背景
当我们在指标中包含了维度信息,如下面的指标卡,去年同期销售额、今年销售额

两个指标中都包含了日期维度过滤条件,但是没有维度配置,这种情况下如何联动点击指标过滤其他图表到对应指标的日期范围呢?

核心能力
- 支持在联动常量值规则中嵌入环境变量表达式,通过内置cdt工具类自动计算日期范围(如当年 / 去年首日、日期偏移等),实现 “指标点击→动态日期计算→全看板图表联动过滤” 的闭环。
- 同一个图表支持多次联动到同一个数据集对象。
联动定义如下:

- 去年同期销售指标
-- 触发指标选择去年同期
// 通过变量表达式计算去年第一天日期
r_date >= ${cdt.startOfYear(cdt.addYear(-1), "yyyy-MM-dd")}
// 通过变量计算去年今天日期
r_date <= ${cdt.addYear(-1, "yyyy-MM-dd")}
2
3
4
5
- 今年销售额
-- 触发指标选择今年销售额
// 通过变量表达式计算今年第一天
r_date >= ${cdt.startOfYear(cdt.now(), "yyyy-MM-dd")}
2
3

# 修复
- 图表汇总表达式不能使用Condition函数的问题
- DuckDB 中 addXxx 函数(如 addYear、addMonth 等)参数为负数的情况
- 复杂报表格式化为none时把字符串转数字的问题