公式在不同功能中的使用区别

1. 简介

当公式在数据管理后台 批量修改 功能、数据工厂 字段设置 添加计算字段,以及仪表盘的统计表或明细表中 添加计算字段 使用时,同表单字段具有部分使用上的区别,详情参见下文。

2. 批量修改公式使用

数据管理后台和权限组中 批量修改 功能可以添加计算字段编辑公式。如下图所示:

2.1 不支持的函数

批量修改数据时,不支持以下函数:

  • 数学函数:COUNTIF()、FIXED()、LARGE()、RAND()、ROUND()、SMALL()、SUMPRODUCT()
  • 文本函数:CHAR()、IP()、ISEMPTY()、REPT()、RMBCAP()、TEXT()、TRIM()、VALUE()
  • 日期函数:DATE()、DATEDELTA()、DAYS360()、ISOWEEKNUM()、NETWORKDAYS()、SYSTIME()、WEEKNUM()、WORKDAY()
  • 高级函数:DISTANCE()、GETUSERNAME()、MAPX()、RECNO()、TEXTLOCATION()、TEXTUSER()T、EXTDEPT()、UUID()

2.2 其他规则

1)仅主表字段支持使用公式批量修改,具体支持的字段类型有: 单行文本、流水号、多行文本、数字、日期时间、单选按钮组、下拉框、手机。

2)批量修改的公式中,可以被选择到的参数只能是主表字段,具体支持的参数类型有:单行文本、流水号、多行文本、数字、日期时间、单选按钮组、下拉框。

3)SPLIT() 函数可以使用,但是无法取 SPLIT() 拆分后的某一位,只能 COUNT(SPLIT(字段,",")),计算拆分后有几组。

3. 数据工厂公式使用

数据工厂的 字段设置 节点可以添加计算字段编辑公式。

3.1 不支持的函数

数据工厂使用公式时,不支持以下函数:

  • 数学函数:COUNT()、COUNTIF()、LARGE()、SMALL()、SUMPRODUCT()
  • 文本函数:CHAR()、RMBCAP()、SPLIT()、UNION()
  • 日期函数:DAYS360()、ISOWEEKNUM()、TIMESTAMP()
  • 高级函数:DISTANCE()、GETUSERNAME()、MAPX()、RECNO()、TEXTLOCATION()、TEXTUSER()T、EXTDEPT()、UUID()

3.2 其他规则

1)只能添加文本类型字段和数字类型字段,无法添加日期字段

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 数字字段格式

数字字段的字段格式保留固定的位数或者显示百分比。

功能

转化方式

表单字段

ROUND(数字,2)或者TEXT(数字,"0.00%")

批量修改

直接在表单设计中设置数字字段的格式

字段设置

数据工厂中无法实现,可以数据工厂输出之后,通过仪表盘展示数据工厂的数据,在仪表盘中设置数据格式,显示百分比或者小数位数

5.7 空值判断

根据字段是否为空进行不同的计算。

功能

转化方式

表单字段

例:IF(ISEMPTY(产品名称)==0,入库数量-出库数量,0)

批量修改

筛选出产品名称不为空的数据,批量修改筛选后的数据,公式输入:入库数量-出库数量,再筛选出产品名称为空的,批量修改筛选后的数据,改为固定值 0

字段设置

文本是否为空:

IF(ISEMPTY(文本字段)==0,返回值1,返回值2)

日期是否为空:

IF(ISEMPTY(TEXT(DATE(日期字段)))==0,返回值1,返回值2)

数字是否为空:

通过字段设置无法直接实现,只能添加两个数据筛选节点,分别筛选数字为空的,和数字不为空的,再分别连接字段设置节点计算对应的返回值,再把两个字段设置节点追加合并起来。

Copyright(C)2023 HFBangFu Inc. All Rights Reserved 皖ICP备12017563号-5