计算属性是在静态数据模型上按需派生虚拟字段的逻辑层手段,不修改表结构;通过表达式引擎实时计算,支持聚合、条件判断与系统变量,实现上下文感知的动态语义。

计算属性名本身不能直接“动态生成”数据模型,但它是在已有模型基础上实现运行时字段扩展与逻辑复用的关键手段。低代码平台的数据模型是静态定义的(如“员工表”含姓名、部门、入职日期等字段),而计算属性属于模型之上的逻辑层,用于在查询或展示阶段按需派生新字段,不改变底层结构。
明确计算属性的定位:不是建模,而是增强
计算属性不创建新实体、不新增数据库字段、不修改表结构。它是在数据集构建环节,通过表达式引擎实时计算出的虚拟字段,例如:
- “工龄” = 当前日期 - 入职日期(返回年数)
- “绩效等级” = CASE WHEN 绩效评分 ≥ 4.5 THEN 'A' WHEN 绩效评分 ≥ 3.5 THEN 'B' ELSE 'C' END
- “部门销售额占比” = 销售额 / SUM(销售额) OVER (PARTITION BY 部门)
这些字段在报表设计时可像普通字段一样拖入图表横轴/纵轴,但其值只在查询执行时动态生成,不影响原始数据模型的稳定性与治理要求。
在数据集配置中定义计算属性名
主流低代码平台(如简道云、BuildRun、腾讯云微搭)均支持可视化定义计算字段,操作路径一致:
- 进入“数据集”新建或编辑界面
- 点击“新增度量”或“添加计算字段”按钮
- 输入属性名(如月均订单量),选择类型为“计算字段”
- 在表达式框中编写公式:支持基础运算、聚合函数(SUM/COUNT/AVG)、条件判断(IF/CASE)、日期函数(YEAR/MONTH/DATEDIFF)及系统变量(如deptId)
- 保存后,该属性名即出现在字段列表中,供后续图表绑定使用
结合系统变量实现上下文感知的动态命名
真正体现“运行时动态”的,是利用平台内置变量让同一计算属性在不同用户/角色下呈现不同语义结果。例如:
- 定义属性名:我的待办数
- 表达式:COUNT(*) WHERE 处理人ID = ${userId} AND 状态 = '进行中'
- 定义属性名:本部门平均响应时长
- 表达式:AVG(响应时长) WHERE 部门ID = ${deptId}
这些属性名是固定的,但其背后计算逻辑随当前登录用户自动注入参数,实现“同名不同值”,无需为每个部门单独建模。
避免常见误区:别混淆计算属性与动态实体
动态实体(如运行时根据配置生成新表)属于元数据层变更,需平台级权限与模型发布流程;而计算属性仅作用于查询层,无需审批、无版本冲突、可随时增删。若业务需要真正意义上的“运行时生成模型”,应走平台提供的动态实体管理模块,而非依赖计算属性名模拟——后者无法支撑数据写入、关联建模或权限策略落地。

















