日常工作中,经常会遇到需要系统自动计算单价乘以数量的事情。以Excel为例,假如单价的数值在A2单元格,数量的数值在B2单元格。金额的数值想要放在C2单元格。希望通过单价、数量,得到金额的值,可以先在C2单元格上面设置计算公式(单价乘以数量的excel公式)即(=A2*B2)。然后按住C2单元格右下角的加号(填充柄)向下拖拽即可获得结果。如下图所示。
单价乘以数量的excel公式我们可以注意到,如果单击C2单元格,其上面的编辑栏显示的,是计算公式(即单价乘以数量的excel公式或者WPS公式),不是具体的值。这表明这个单元格数据是根据其他单元格的内容,动态生成的。
Foxtable狐表也有同样的功能。作为数据库管理软件,规范化是必要的。因此,Foxtable是通过增加一个表达式列,来实现类似于Excel公式或者WPS公式的功能的。
例如,在Foxtable订单表中,点击“数据表”功能区,找到“列相关”的功能组,点击“增加列(下拉倒三角型)”,从下拉菜单中,选择“表达示列”,如下图所示:
数据表.列相关.增加列下拉.表达式列弹出了如下图所示的“增加表达示列”对话框。设置列名为“金额”,数据类型为“双精度小数”。
增加表达式列对话框再单击“表达式”输入框右侧的【...】按纽,打开“表达式生成器”对话框。
表达式生成器对话框可以看到,“表达式生成器”的编辑框的下方,有一排常用运算符按纽(可以单击鼠标添加到编缉框),下方左侧列表框内是常用函数,下方中间列表框内是当前数据表的数据列,下方右侧列表框内有在线帮助(下方列表框内可以双击鼠标来使用)。
编辑表达式: [单价] * (1 - [折扣]) * [数量]
表达式编缉完成后,单击“确定”按纽,就生成一个表达式列。
生成一个表达式列可以看到,“金额”列就是根据“单价”,“折扣”,“数量”列的值,动态生成的。只要相关列的数据变了,金额列的值也会即时自动更新。如果要修改表达式列的列名,标题,数据类型等,可以单击“数据表--列相关--更改列”命令按纽。如果需要修改表达式,可以单击“数据表--列相关--Fx表达式”命令按纽。
需要注意的是,Foxtable做了以下设定:
1、当表达式列没有设置计算公式时,虽然可以输入数据,但不会保存这些数据。
2、如果已经设置了计算公式的表达式列,虽然手工可以修改列中的数据,但是按下“Tab”或者“Enter”键确认时,仍然会自动还原为公式计算。