公式在不同功能中的使用区别
1. 简介
2. 批量修改公式使用
数据管理后台和权限组中 批量修改 功能可以添加计算字段编辑公式。如下图所示:
2.1 不支持的函数
批量修改数据时,不支持以下函数:
- 数学函数:SUMIF()、SUMIFS()、SUMPRODUCT();
- 文本函数:IP()、ISEMPTY();
- 高级函数:GETUSERNAME()、MAPX()、RECNO()。
2.2 其他规则
1)仅主表字段支持使用公式批量修改,具体支持的字段类型有: 单行文本、流水号、多行文本、数字、日期时间、单选按钮组、下拉框、手机。
2)批量修改的公式中,可以被选择到的参数只能是主表字段,具体支持的参数类型有:单行文本、流水号、多行文本、数字、日期时间、单选按钮组、下拉框。
3)SPLIT() 函数可以使用,但是无法取 SPLIT() 拆分后的某一位,只能 COUNT(SPLIT(字段,",")),计算拆分后有几组。
3. 数据工厂公式使用
数据工厂的 字段设置 节点可以添加计算字段编辑公式。
3.1 不支持的函数
数据工厂使用公式时,不支持以下函数:
- 数学函数:COUNT()、COUNTIF()、LARGE()、SMALL()、SUMPRODUCT()
- 文本函数:RMBCAP()、SPLIT()、UNION()
- 日期函数:DAYS360()、ISOWEEKNUM()、WEEKDAY()
- 高级函数:DISTANCE()、GETUSERNAME()、MAPX()、RECNO()、TEXTLOCATION()、TEXTUSER()、TEXTDEPT()、UUID()
3.2 其他规则
字段设置节点的公式中,支持的参数的字段类型有:单行文本、流水号、数字、日期时间、单选按钮组、下拉框。
4. 仪表盘公式使用
在仪表盘的统计表或明细表中 添加计算字段 编辑公式。
4.1 支持的函数
仪表盘中使用公式时,仅支持以下函数,其他函数暂不支持:
- 统计表:支持加、减、乘、除,以及:SUM()、AVERAGE()、COUNT()、MAX()、MIN();
- 明细表:仅支持加、减、乘、除。
4.2 其他规则
统计表和明细表的计算字段中,参数支持选择的字段类型如下:
- 统计表:单行文本、多行文本、数字、日期时间、单选按钮组、下拉框、地址、定位、流水号、成员单选、部门单选,以及以上类型的子表单字段;
- 明细表:仅支持主表中的数字字段。
5. 常用公式转化
常用的公式在不同功能的转化设置如下:
5.1 数字转文本
功能 | 转化方式 |
表单字段 | TEXT(数字字段)或者直接选择数字字段。 |
批量修改 | 单行文本编辑公式的时候,直接选择数字字段就行,不用输入任何函数。 |
字段设置 | TEXT(数字字段)。 |
5.2 日期转文本(年月日)
功能 | 转化方式 |
表单字段 | TEXT(DATE(日期字段),"yyyyMMdd") |
批量修改 | 添加三个辅助的单行文本,分别编辑公式获取年月日, 年文本:YEAR(日期字段); 月文本:MONTH(日期字段); 日文本:DAY(日期字段); 最终的年月日字段公式:CONCATENATE(年文本,RIGHT(CONCATENATE("00",月文本),2),RIGHT(CONCATENATE("00",日文本),2)) 修改成功之后,年文本,月文本,日文本三个辅助字段可以删除 |
字段设置 | 文本年月:TEXT(DATE(日期字段),"yyyyMM") 文本年月日:TEXT(DATE(日期字段),"yyyyMMdd") 文本年月日时分秒:TEXT(DATE(日期字段)) 数字年月:YEAR(日期字段)*100+MONTH(日期字段) 数字年月日:YEAR(日期字段)*10000+MONTH(日期字段)*100+DAY(日期字段) 数字年月日时分秒:YEAR(日期字段)*10000000000+MONTH(日期字段)*100000000+DAY(日期字段)*1000000+HOUR(日期字段)*10000+MINUTE(日期字段)*100+SECOND(日期字段) |
5.3 日期获取星期
功能 | 转化方式 |
表单字段 | TEXT(DATE(日期字段),"EEE") |
批量修改 | 在表单设计中,添加一个辅助的日期字段,批量修改为一个固定的日期,比如批量改为2022-1-3(某一个星期一) 然后星期的文本字段批量修改公式为:IFS(MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==0,"星期一",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==1,"星期二",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==2,"星期三",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==3,"星期四",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==4,"星期五",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==5,"星期六",MOD(DAYS(需要计算的日期字段,新添加的日期字段),7)==6,"星期日") |
字段设置 | IFS(MOD(DAYS(日期字段,DATE(2022,1,3)),7)==0,"星期一",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==1,"星期二",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==2,"星期三",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==3,"星期四",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==4,"星期五",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==5,"星期六",MOD(DAYS(日期字段,DATE(2022,1,3)),7)==6,"星期日") |
5.4 成员转文本
功能 | 转化方式 |
表单字段 | TEXTUSER(成员单选,"name") |
批量修改 | 通过数据导出的方式修改,将成员单选的值导入更新到文本的姓名中 |
字段设置 | 暂无法实现 |
5.5 部门转文本
功能 | 转化方式 |
表单字段 | TEXTDEPT(部门单选,“name”) |
批量修改 | 通过数据导出的方式修改,将部门单选的值导入更新到文本的部门中 |
字段设置 | 暂无法实现 |
5.6 手机转文本
功能 | 转化方式 |
表单字段 | TEXTPHONE(手机字段,"phone") |
批量修改 | 通过数据导出的方式修改,将手机字段的值导入更新到文本的手机中 |
字段设置 | 暂无法实现 |
5.7 数字字段格式
数字字段的字段格式保留固定的位数或者显示百分比。
功能 | 转化方式 |
表单字段 | ROUND(数字,2)或者TEXT(数字,"0.00%") |
批量修改 | 直接在表单设计中设置数字字段的格式 |
字段设置 | 数据工厂中无法实现,可以数据工厂输出之后,通过仪表盘展示数据工厂的数据,在仪表盘中设置数据格式,显示百分比或者小数位数 |
5.8 空值判断
根据字段是否为空进行不同的计算。
功能 | 转化方式 |
表单字段 | 通过 ISEMPTY(文本) 函数判断文本、日期时间、数字等字段是否为空,并根据是否为空进行计算。例:IF(ISEMPTY(产品名称)==0,入库数量-出库数量,0) |
批量修改 | 筛选出产品名称不为空的数据,批量修改筛选后的数据,公式输入:入库数量-出库数量,再筛选出产品名称为空的,批量修改筛选后的数据,改为固定值 0 |
字段设置 | 文本是否为空: IF(ISEMPTY(文本字段)==0,返回值1,返回值2) 日期是否为空: IF(ISEMPTY(TEXT(DATE(日期字段)))==0,返回值1,返回值2) 数字是否为空: 通过字段设置无法直接实现,只能添加两个数据筛选节点,分别筛选数字为空的,和数字不为空的,再分别连接字段设置节点计算对应的返回值,再把两个字段设置节点追加合并起来。 |