本教程用于解决计算字段无法使用today,按日自动计算更新天数的场景。
以下提供两种解决方案:
- 方案一:通过“触发器每天更新辅助表格中辅助数据的时间,关联引用到计算字段进行计算”。
如此,触发器名每天定时仅更新一条数据,即可辅助目标表全表计算字段计算天数。 - 方案二:通过聚合表计算天数。
1、场景简介
如下图,在业务场景中会遇到期望计算【剩余天数】的场景,但计算字段无法直接实现取到今天并进行计算。
见下图,直接使用计算字段使用DATEDIF()函数会发现,计算字段不支持使用TODAY()函数。
2、方案一:触发器+辅助表计算“剩余天数”
如果对【当前表格】用触发器更新剩余天数,当【目标数据】的数据量较多时,每天算力消耗比较大。因此,我们借助辅助表数据进行计算。
本方案配置步骤如下:
- 新建辅助表及辅助数据:新增【当天日期作为辅助表格】设置日期字段(命名为当天日期),并添加一条辅助数据
- 配置触发器每天修改辅助数据日期为今天
- 在【剩余天数表】新增关联字段(当天日期),关联【当天日期表】
- 在【剩余天数表】设置计算字段计算天数
- 配置触发器,在【剩余天数表】新建数据自动关联“当天日期”
2.1 新建辅助表及辅助数据
新建一张表格进保留日期字段,并添加一条当天日期的数据。
2.2 配置触发器每天修改辅助数据日期为今天
对新建的表格创建一个每天更新数据的触发器,每天更新当天日期。
2.3 在【剩余天数表】新增关联字段,关联【当天日期表】
在剩余天数计算表格增加关联字段关联当天日期表格,并显示当天日期字段。
2.4 在【剩余天数表】设置计算字段计算天数
编辑剩余天数计算字段计算公式。
2.5 配置触发器,在【剩余天数表】新建数据自动关联“当天日期”
接下来,每条数据创建时“当天日期”自动或手动关联后,剩余天数就能每天自动更新啦。
为了能够更方便数据创建者,减少手动操作,可以配置触发器在新建数据时自动更新“当天日期”字段关联辅助数据。
即可以对剩余天数表格创建一个触发器,实现当天日期关联字段值的自动填入。
如果【剩余天数表】原本有新建数据触发的触发器,可以直接修改该触发器的执行操作,融入其中减少触发器消耗。
3、方案二:聚合表计算“剩余天数”
除了上述方式外,也可以通过聚合表中的表达式来计算。
创建聚合表。
选择字段设置。
创建新的表达式字段并编辑表达式公式
之后保存即可。
如果想在工作区中直接查看,可以将聚合表同步回普通表格。