目录:
- 1. 概述
- 2. MONTH-取日期中的月
- 3. DAYSOFYEAR-取一年中的天数
- 4. YEAR-取日期中的年
- 5. MONTHDELTA-指定日期 date 后 delta 个月的日期
- 6. DATEDIF-两个指定日期间的天数、月数或年数
- 7. DATEDELTA-返回一个日期后的具体日期
- 8. WEEKDATE-指定年月的指定周的周几的具体日期
- 9. DAYS360-返回两日期间相差的天数
- 10. TODATE-将各种日期形式的参数转换为日期类型
- 11. DAY-返回日期中的日
- 12. LUNAR-取农历时间
- 13. MINUTE-取分钟数
- 14. DAYSOFMONTH-从1900年1月后某年某月包含的天数
- 15. DATESUBDATE-两个日期之间的时间差
- 16. DATETONUMBER-日期转毫秒数
- 17. DAYVALUE-1900 年至 date 日期所经历的天数
- 18. DATE-返回特定日期的系列数
- 19. NOW-取当前时间
- 20. HOUR-取小时数
- 21. YEARDELTA-指定日期后delta年的日期
- 22. DAYSOFQUARTER-从 1900 年 1 月后某年某季度的天数
- 23. WEEK-一年中的第几周
- 24. WEEKDAY-获取对应日期星期数
- 25. TODAY-获取当前日期
- 26. TIME-指定时间的小数
- 27. SECOND-返回某一指定时间的秒数
- 28. QUARTER-返回指定时间对应的季度
1. 概述编辑
1.1 版本
FineBI版本 | JAR 包 | 功能变动 |
---|---|---|
5.1 | - | - |
5.1.7 | 2020-11-05 | 函数释义优化&明确函数参数合法性 |
5.1.11 | 2021-04-02 | 实时数据公式校验加强 |
5.1.12 | - | 抽取数据公式校验加强&新增 QUARTER 函数 |
1.2 使用范围
使用位置 | |
---|---|
自助数据集 | 新增列、过滤 |
仪表板 | 添加计算字段 |
注:函数中以日期作为参数因子的,其中日期的形式都必须是 yyyy/mm/dd 或 yyyy-MM-dd 。而且必须用英文环境下双引号(" ")引用。
1.3 常用日期公式
文档提供了一些常用的日期组合公式,方便用户直接使用,详情参见:常用日期公式 。
2. MONTH-取日期中的月编辑
2.1 抽取数据
1)概述
语法 | MONTH:(serial_number,格式) | 返回日期中的月。月是介于1和12之间的一个数。 |
---|---|---|
参数1 | serial_number | 含有所求的月的日期.除了支持文本、日期类型,还支持1900年标准的系列数,例如输入35796为1998-01-01。 |
参数2 | 格式 | 例如 yyyy-MM-dd |
2)注意事项
允许 MONTH(serial_number,格式)内参数为空,即 MONTH(),当参数为空时,取当前系统的服务器时间对应日期的月数。
第一个缺省参数为日期或文本类型,第二个缺省参数为文本
第二个参数支持yyyy-MM-dd格式
3)示例
公式 | 结果 | 备注 |
---|---|---|
MONTH() | 10 | 对应系统服务器时间为2020-10-23 15:36:25。 |
MONTH("2000/1/1") | 1 | |
MONTH(35796) | 1 | |
MONTH("1997-04-20","yyyy-MM-dd") | 4 |
2.2 实时数据
1)概述
语法 | MONTH:(serial_number) | 返回日期中的月。月是介于1和12之间的一个数。 |
---|---|---|
参数 | serial_number | 含有所求的月的日期.只支持文本、日期类型。 |
2)注意事项
允许MONTH(serial_number)内参数为空,即MONTH(),当参数为空时,取当前系统的服务器时间对应日期的月数。
可缺省日期或使用一个文本类型参数。
第二个参数支持yyyy-MM-dd格式
3)示例
公式 | 结果 | 备注 |
---|---|---|
MONTH() | 10 | 对应系统服务器时间为2020-10-23 15:36:25。 |
MONTH("2000-01-01") | 1 |
3. DAYSOFYEAR-取一年中的天数编辑
1)概述
语法 | DAYSOFYEAR(year) | 返回某年包含的天数 |
---|---|---|
参数 | year | 任意年份 |
2)注意事项
抽取数据支持一个任意类型参数
实时数据中该参数为日期或文本类型。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYSOFYEAR (2008) | 366 | 等价于:DAYSOFYEAR("2008-01-01") |
4. YEAR-取日期中的年编辑
4.1 抽取数据
1)概述
语法 | YEAR:(serial_number,格式) | 返回日期中的年。year是介于1900和9999之间的一个数。 |
---|---|---|
参数 | serial_number | 支持1900年的系列数,例如35796为1998-01-01。 |
2)注意事项
允许YEAR(serial_number,格式)内参数为空,即YEAR(),当参数为空时,取当前系统的服务器时间对应日期的年份数。
支持日期或者文本类型参数
第二个参数支持yyyy-MM-dd格式
3)示例
公式 | 结果 | 备注 |
---|---|---|
YEAR() | 2020 | 对应系统服务器时间为2020-10-23 15:36:25。 |
YEAR("2000/1/1") | 2000 | |
YEAR(35796) | 1998 | |
YEAR("1997-04-20","yyyy-MM-dd") | 1997 |
4.2 实时数据
1)概述
语法 | YEAR:(serial_number) | 返回日期中的年。year是介于1900和9999之间的一个数。 |
---|---|---|
参数 | serial_number | 表示输入的日期。只支持文本、日期类型。 |
2)注意事项
允许YEAR(serial_number)内参数为空,即YEAR(),当参数为空时,取当前系统的服务器时间对应日期的年份数。
可使用一个缺省日期,或者一个文本类型参数。
第二个参数支持yyyy-MM-dd格式
3)示例
公式 | 结果 | 备注 |
---|---|---|
YEAR() | 2020 | 对应系统服务器时间为2020-10-23 15:36:25。 |
YEAR("2000-01-01") | 2000 |
5. MONTHDELTA-指定日期 date 后 delta 个月的日期编辑
1)概述
语法 | MONTHDELTA(date,delta) | 返回指定日期date后delta个月的日期。 |
---|---|---|
参数 | delta | 对于抽取数据 date除了支持文本、日期类型,还支持1900年系列数,例如35796为1998-01-01。 注:实时数据中 date 只支持文本、日期类型。 |
2)注意事项
支持两个参数,第一个参数为日期或文本类型,第二个参数为数值类型。
3)示例
公式 | 结果 | 备注 |
---|---|---|
MONTHDELTA("2008-08-08",4) | 2008-12-08 | |
MONTHDELTA(35796,4) | 1998-05-01 | 实时数据不支持该写法 |
6. DATEDIF-两个指定日期间的天数、月数或年数编辑
6.1 抽取数据
1)概述
语法 | DATEDIF(start_date,end_date,unit) | 返回两个指定日期间的天数、月数或年数。 |
---|---|---|
参数1 | start_date | 代表所指定时间段的初始日期 可以为1900年系列数,例如35796为1998-01-01。 注:实时数据只支持文本、日期类型。 |
参数2 | end_date | 代表所指定时间段的终止日期 可以为1900年系列数,例如35796为1998-01-01。 注:实时数据只支持文本、日期类型。 |
参数3 | unit | 函数返回信息的类型。 若unit=“Y/y”,则返回年差数; 若unit=“M/m”,则返回月差数;若unit=“D/d”,则返回日差数; 若unit=“MD/md”,则忽略年和月,返回日差数; 若unit=“YM/ym”,则忽略年和日,返回月差数;若unit=“YD/yd”,则忽略年,返回日差数。 |
2)注意事项
支持三个参数,前两个日期或文本类型参数,第三个要求文本
第三个参数支持Y、M、D、MD、YM、YD,不区分大小写
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATEDIF("2001/2/28","2004/3/20","Y") | 3 | 即在2001年2月28日与2004年3月20日之间有3个整年。 |
DATEDIF("2001/2/28","2004/3/20","M") | 37 | 即在2001年2月28日与2004年3月20日之间有36个整月。 |
DATEDIF("2001/2/28","2004/3/20","D") | 1116 | 即在2001年2月28日与2004年3月20日之间有1116个整天。 |
DATEDIF("2001/2/28","2004/3/20","md") | 8 | 即忽略月和年后,2001年2月28日与2004年3月20日的差为8天。 |
DATEDIF("2001/1/28","2004/3/20","YM") | 2 | 即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月。 |
DATEDIF("2001/2/28","2004/3/20","yd") | 21 | 即忽略年后,2001年2月28日与2004年3月20日的差为21天。 |
DATEDIF(35796,35800,"MD") | 4 | 即忽略年月后,1998年1月1日与1998年1月5日相差4天。 |
6.2 实时数据
1)概述
语法 | DATEDIF(start_date,end_date,unit) | 返回两个指定日期间的天数、月数或年数。 |
---|---|---|
参数1 | start_date | 代表所指定时间段的初始日期。只支持文本、日期类型。 |
参数2 | end_date | 代表所指定时间段的终止日期。只支持文本、日期类型。 |
参数3 | unit | 函数返回信息的类型。 若unit=“Y/y”,则返回年差数; 若unit=“M/m”,则返回月差数;若unit=“D/d”,则返回日差数; 若unit=“MD/md”,则忽略年和月,返回日差数; 若unit=“YM/ym”,则忽略年和日,返回月差数;若unit=“YD/yd”,则忽略年,返回日差数。 |
2)注意事项
支持三个参数,其中第一、二个为日期或文本类型参数,第三个为文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATEDIF("2001-02-28","2004-03-20","Y") | 3 | 即在2001年2月28日与2004年3月20日之间有3个整年。 |
DATEDIF("2001-02-28","2004-03-20","M") | 37 | 即在2001年2月28日与2004年3月20日之间有36个整月。 |
DATEDIF("2001-02-28","2004-03-20","D") | 1116 | 即在2001年2月28日与2004年3月20日之间有1116个整天。 |
DATEDIF("2001-02-28","2004-03-20","md") | 8 | 即忽略月和年后,2001年2月28日与2004年3月20日的差为8天。 |
DATEDIF("2001-01-28","2004-03-20","YM") | 2 | 即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月。 |
DATEDIF("2001-02-28","2004-03-20","yd") | 21 | 即忽略年后,2001年2月28日与2004年3月20日的差为21天。 |
7. DATEDELTA-返回一个日期后的具体日期编辑
7.1 抽取数据
1)概述
语法 | DATEDELTA(date,deltadays) | 返回一个日期date后deltadays的日期。 |
---|---|---|
参数1 | date | date除了支持文本、日期类型,还支持1900年系列数,例如35796为1998-01-01。 |
参数2 | deltaDays | 可以为正值,负值,零 |
2)注意事项
支持两个参数,第一个日期或文本类型参数,第二个参数为数值
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATEDELTA("2008-08-08",-10) | 2008-07-29 | |
DATEDELTA("2008-08-08",10) | 2008-08-18 | |
DATEDELTA(35796,10) | 1998-01-11 |
7.2 实时数据
1)概述
语法 | DATEDELTA(date,deltadays) | 返回一个日期date后deltadays的日期。 |
---|---|---|
参数1 | date | 只支持文本、日期类型 |
参数2 | deltadays | 可以为正值,负值,零 |
2)注意事项
支持两个参数,其中第一个参数为日期或文本类型,第二个参数为数值类型。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATEDELTA("2008-08-08",-10) | 2008-07-29 | |
DATEDELTA("2008-08-08",10) | 2008-08-18 |
8. WEEKDATE-指定年月的指定周的周几的具体日期编辑
1)概述
语法 | WEEKDATE(year,month,weekOfMonth,dayOfWeek) | 返回指定年月的指定周的周几的具体日期。 |
---|---|---|
参数1 | year | 年 |
参数2 | month | 月 |
参数3 | weekOfMonth | 月的指定周 |
参数4 | dayOfWeek | 返回指定年月的指定周的周几的具体日期 |
2)注意事项
抽取数据支持设置四个数值/文本参数。
实时数据中支持使用四个数值类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
WEEKDATE(2009,10,2,1) | 2009-10-04 | 返回的是2009年的10月的第二个周的第一天即星期天的日期 |
WEEKDATE(2009,12,1,-1) | 2009-12-05 | 返回的是2009年的12月的第一个周的最后一天即星期六的日期 |
9. DAYS360-返回两日期间相差的天数编辑
1)概述
语法 | DAYS360(start_date,end_date,method) | 按照一年360天的算法(每个月以30天计,一年共计12个月),返回两日期间相差的天数,这在会计计算中将会用到。如果财务系统是基于一年12个月,每月30天,可用此函数帮助计算支付款项。 |
---|---|---|
参数1 | start_date | start_date和end_date:是用于计算期间天数的起止日期。 |
参数2 | end_date | |
参数3 | method | 它指定了在计算中是采用欧洲方法还是美国方法。 Method定义:FALSE或空为美国方法(NASD)。TRUE为欧洲方法。即无论是起始日期还是终止日期为一个月的31号,都将等于本月的30号。 |
2)注意事项
不支持 实时数据
支持三个参数,第三个可缺省,前两个为日期或者文本参数,第三个为文本或者数值参数
参数中的true(TRUE)、false(FALSE),同时支持大小写,且大小写同时蓝色标记。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYS360("1998/1/30","1998/2/1") | 1 |
10. TODATE-将各种日期形式的参数转换为日期类型编辑
10.1 抽取数据
1)概述
语法 | TODATE() | 函数可以将各种日期形式的参数转换为日期类型。 |
---|
2)注意事项
支持五种参数的形式
使用一个参数:数值/日期/文本。使用两个参数:两个参数均为文本 使用三个参数:三个参数均为文本
格式中月份必须大写 MM,年份小写:yy或yyyy。天份小写:dd
3)示例
公式 | 结果 | 备注 |
---|---|---|
TODATE(DATE(2007,12,12)) | 返回2007年12月12日组成的日期。 | 参数是一个日期型的参数,那么直接将这个参数返回 |
TODATE(1023542354746) | 返回2002年6月8日 | 参数是以从1970年1月1日0时0分0秒开始的毫秒数,返回对应的时间。 |
TODATE("2007/10/15") | 返回2007年10月15日组成的日期 | 参数是日期格式的文本,那么返回这个文本对应的日期。 |
TODATE("1/15/07","MM/dd/yy") | 返回07年1月15日组成的日期。(MM必须是大写)。 | 有两个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式。 特别的,"yyyyMMdd"是用来解析形如“20081230”之类的日期格式的。比如TODATE("20110830","yyyyMMdd")返回2011年08月30日组成的日期。 |
TODATE("星期一1/15/07","EEEMM/dd/yy","zh") | 返回07年1月15日组成的日期,使用“zh(中文)”才能够正常解析“星期一”这个字符串。 | 有三个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式,第三个参数为解析日期的语言,如:zh(中文),en(英文)。如果EEE 和 MM/dd/yy 不一致, 以 MM/dd/yy 为主。 同时第三个参数支持大写格式:"ZH","EN" |
10.2 实时数据
1)概述
语法 | TODATE() | 函数可以将各种日期形式的参数转换为日期类型。 |
---|
2)注意事项
支持四种参数的形式
支持使用一个参数:参数为数值或日期或者文本类型;或者使用两个参数:参数需要全部为文本。
格式中月份必须大写 MM,年份小写:yy或yyyy。天份小写:dd
3)示例
公式 | 备注 | |
---|---|---|
TODATE(DATE(2007,12,12)) | 返回2007年12月12日组成的日期。 | 参数是一个日期型的参数,那么直接将这个参数返回 |
TODATE(1023542354746) | 返回2002年6月8日。 | 参数是以从1970年1月1日0时0分0秒开始的毫秒数,返回对应的时间。 |
TODATE("2007-06-08") | 返回2007年6月8日组成的日期。 | 参数是日期格式的文本,那么返回这个文本对应的日期。 |
TODATE("1/15/07","MM/dd/yy") | 返回07年1月15日组成的日期。(MM必须是大写)。 | 有两个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式。 特别的,"yyyyMMdd"是用来解析形如“20081230”之类的日期格式的。比如TODATE("20110830","yyyyMMdd")返回2011年08月30日组成的日期。 |
11. DAY-返回日期中的日编辑
1)概述
语法 | DAY(serial_number,格式) | 返回日期中的日。DAY是介于1和31之间的一个数。 |
---|---|---|
参数 | serial_number | 含有所求的年的日期。也可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796。 注:实时数据serial_number只支持文本、日期类型。 允许DAY(serial_number,格式)内参数为空,即DAY(),当参数为空时,取当前系统的服务器时间对应日期中的日。 |
2)注意事项
抽取数据允许参数为空,支持两个参数,第一个参数缺省日期或文本类型,第二个缺省参数文本
实时数据可使用一个缺省日期,或一个文本类型参数。
第二个参数支持yyyy-MM-dd格式
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAY() | 23 | 对应系统服务器时间为2020-10-23 15:36:25 。 |
DAY("2000/1/1") | 1 | 实时数据中不支持 2000/1/1格式,需要写为 DAY("2000-01-01") |
DAY(35796) | 1 | 实时数据不支持 |
DAY("1997-04-20","yyyy-MM-dd") | 20 |
12. LUNAR-取农历时间编辑
1)概述
语法 | LUNAR(year, month, day) | 返回当前日期对应的农历时间 |
---|---|---|
参数 | year,month,day | 分别对应年月日 |
2)注意事项
不支持实时数据
支持三个数值或者文本参数,超过则不合法
3)示例
公式 | 结果 | 备注 |
---|---|---|
LUNAR(2011,7,21) | 辛卯年六月廿一 | |
LUNAR(2001,7,21) | 辛巳年六月初一 |
13. MINUTE-取分钟数编辑
13.1 抽取数据
1)概述
语法 | MINUTE(serial_number,格式) | 返回某一指定时间的分钟数,其值是介于0与59之间的一个整数 |
---|---|---|
参数1 | serial_number | 包含所求分钟数的时间 |
参数2 | 格式 | 例如 HH:mm:ss |
2)注意事项
允许MINUTE(serial_number,格式)内参数为空,即MINUTE(),当参数为空时,取当前系统的服务器时间对应的分钟数。
第一个参数缺省日期或文本类型,第二个缺省参数文本
3)示例
公式 | 结果 | 备注 |
---|---|---|
MINUTE() | 36 | 对应系统服务器时间为2020-10-23 15:36:25 |
MINUTE("15:36:25") | 36 | |
MINUTE("15:36:25","HH:mm:ss") | 36 |
13.2 实时数据
1)概述
语法 | MINUTE(serial_number) | 返回某一指定时间的分钟数,其值是介于0与59之间的一个整数 |
---|---|---|
参数 | serial_number | 包含所求分钟数的时间 |
2)注意事项
允许MINUTE(serial_number)内参数为空,即MINUTE(),当参数为空时,取当前系统的服务器时间对应的分钟数。
可使用缺省日期或一个文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
MINUTE() | 36 | 对应系统服务器时间为2020-10-23 15:36:25 |
MINUTE("15:36:25") | 36 |
14. DAYSOFMONTH-从1900年1月后某年某月包含的天数编辑
14.1 抽取数据
1)概述
语法 | DAYSOFMONTH(date) | 回从1900年1月后某年某月包含的天数。 |
---|---|---|
参数 | date | date除了支持文本、日期类型,还可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796。 |
2)注意事项
支持一个日期或文本类型参数,超过则不合法
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYSOFMONTH("1900-02-01") | 28 | |
DAYSOFMONTH("2008/04/04") | 30 | |
DAYSOFMONTH(35796) | 31 |
14.2 实时数据
1)概述
语法 | DAYSOFMONTH(date) | 回从1900年1月后某年某月包含的天数。 |
---|---|---|
参数 | date | datedate只支持文本、日期类型 |
2)注意事项
支持一个日期或文本类型参数,超过则不合法
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYSOFMONTH("1900-02-01") | 28 |
15. DATESUBDATE-两个日期之间的时间差编辑
1)概述
语法 | DATESUBDATE(date1,date2,op) | 返回两个日期之间的时间差。 |
---|---|---|
参数1 | date1 | date1,date2表示要输入的两个日期,当date1早于date2时,是负值;date1晚于date2,是正值,若date1/2为数值,按照1900年的系列数逻辑处理,例如35796为1998-01-01。 注:实时数据只支持文本、日期类型。 |
参数2 | date2 | |
参数3 | op | 表示返回的时间单位:"s/S",以秒为单位。"m/M",以分钟为单位。"h/H",以小时为单位。"d/D",以天为单位。"w/W",以周为单位。 |
2)注意事项
抽取数据支持三个参数,前两个日期或文本类型参数,第三个要求文本;第三个参数支持S、M、H、D、W,不区分大小写
实时数据中,第一、二个日期或文本类型参数,第三个是文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATESUBDATE("2008-08-08","2008-06-06","h") | 1512 | |
DATESUBDATE("2008-06-06","2008-08-08","H") | -1512 |
16. DATETONUMBER-日期转毫秒数编辑
16.1 抽取数据
1)概述
语法 | DATETONUMBER(date) | 返回自1970年1月1日00:00:00GMT经过的毫秒数。 |
---|---|---|
参数 | date | date可以为文本、日期,也可以为数值,按照1900年的系列数逻辑处理,例如35796为1998-01-01。 |
2)注意事项
支持一个日期或文本类型参数,超过则不合法
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATETONUMBER("2008-08-08") | 1,218,124,800,000 | |
DATETONUMBER(35796) | 883,612,800,000 |
16.2 实时数据
1)概述
语法 | DATETONUMBER(date) | 返回自1970年1月1日00:00:00GMT经过的毫秒数。 |
---|---|---|
参数 | date | date:只支持文本、日期类型。 |
2)注意事项
支持一个日期或文本类型参数,超过则不合法。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATETONUMBER("2008-08-08") | 1,218,153,600,000 |
17. DAYVALUE-1900 年至 date 日期所经历的天数编辑
1)概述
语法 | DAYVALUE(date) | 返回 1900 年至 date 日期所经历的天数。 |
---|---|---|
参数 | date | date 抽取数据除了支持文本、日期类型,还可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796。 注:实时数据只支持文本、日期类型。 |
2)注意事项
支持一个日期或文本类型参数,超过则不合法
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYVALUE("2008/08/08") | 39667 | 实时数据不支持 2008/08/08 格式,需要写为 2008-08-08 格式 |
DAYVALUE(35796) | 35795 |
18. DATE-返回特定日期的系列数编辑
1)概述
语法 | DATE(year,month,day) | 返回一个表示某一特定日期。 |
---|---|---|
参数1 | year | 代表年,可为一到四位数。 |
参数2 | month | 代表月份。若month<12,则函数把参数值作为月。若month>12,则函数从年的一月份开始往上累加。 |
参数3 | day | 代表日期。进位逻辑同month。 |
2)注意事项
抽取数据支持三个数值或文本参数
实时数据支持三个数值类型的参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DATE(1978,9,19) | 1978-09-19 | |
DATE(2000,13,05) | 2001-01-05 | |
DATE(2000,3,35) | 2000-04-04 |
19. NOW-取当前时间编辑
1)概述
语法 | NOW() | 获取当前时间 |
---|
2)注意事项
没有参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
NOW() | 2012-05-12 15:18:38 | 如果系统时间是 2012 年 5 月 12 日 15 点 18 分 38 秒 |
20. HOUR-取小时数编辑
20.1 抽取数据
1)概述
语法 | HOUR(serial_number,格式) | 返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。 |
---|---|---|
参数 | serial_number | 包含所求小时的时间 |
2)注意事项
允许HOUR(serial_number,格式)内参数为空,即HOUR(),当参数为空时,取当前系统的服务器时间对应的小时数。
第一个参数缺省日期或文本类型,第二个缺省参数文本
3)示例
公式 | 结果 | 备注 |
---|---|---|
HOUR("11:32:40") | 11 | |
HOUR() | 15 | 对应系统服务器时间为2020-10-23 15:36:2 |
HOUR("11:32:40","HH:mm:ss") | 11 |
20.2 实时数据
1)概述
语法 | HOUR(serial_number) | 返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。 |
---|---|---|
参数 | serial_number | 包含所求小时的时间 |
2)注意事项
允许 HOUR(serial_number)内参数为空,即 HOUR(),当参数为空时,取当前系统的服务器时间对应的小时数。
可使用缺省日期,或一个文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
HOUR("11:32:40") | 11 | |
HOUR() | 15 | 对应系统服务器时间为2020-10-23 15:36:2 |
21. YEARDELTA-指定日期后delta年的日期编辑
1)概述
语法 | YEARDELTA(date, delta) | 返回指定日期后delta年的日期。 |
---|---|---|
参数 | date | 表示输入的日期。
|
2)注意事项
支持两个参数,第一个参数为日期或文本类型,第二个参数为数值类型。
3)示例
公式 | 结果 | 备注 |
---|---|---|
YEARDELTA("2008-10-10",10) | 2018-10-10 | |
YEARDELTA(35796,10) | 2008-01-01 | 实时数据不支持该写法 |
22. DAYSOFQUARTER-从 1900 年 1 月后某年某季度的天数编辑
22.1 抽取数据
1)概述
语法 | DAYSOFQUARTER(date) | 返回从 1900 年 1 月后某年某季度的天数 |
---|---|---|
参数 | date | 抽取数据除了支持文本、日期类型,还可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796。 |
2)注意事项
只支持一个日期或文本类型参数
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYSOFQUARTER("2009-02-01") | 90 | |
DAYSOFQUARTER("2009/05/05") | 91 | |
DAYSOFQUARTER(35796) | 90 |
22.2 实时数据
1)概述
语法 | DAYSOFQUARTER(date) | 返回从1900年1月后某年某季度的天数 |
---|---|---|
参数 | date | 只支持文本、日期类型 |
2)注意事项
只支持一个参数,该参数为日期或文本类型。
3)示例
公式 | 结果 | 备注 |
---|---|---|
DAYSOFQUARTER("2009-02-01") | 90 |
23. WEEK-一年中的第几周编辑
23.1 抽取数据
1)概述
语法 | WEEK(serial_number,"F1"/"F7") | 返回一个代表一年中的第几周的数字 |
---|---|---|
参数1 | serial_number | 表示输入的日期。也可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796 |
参数2 | "F1"/"F7" | 可以在决策平台 周开始于 中设置以周天还是周一为一周的开始。F1/F7如果不输入默认值为F7 F1表示从以周一为一周的开始,F7表示以周天为一周的开始。 |
2)注意事项
允许 WEEK(serial_number,"F1"/"F7")内参数为空,即WEEK(),当参数为空时,取当前系统的服务器时间对应的所属一年中第几周的数字。
第一个参数缺省日期或文本类型,第二个缺省参数文本
第二个参数同时支持大小写。
3)示例
公式 | 结果 | 备注 |
---|---|---|
WEEK() | 52 | 对应系统服务器时间为2010-1-1 15:36:25。 |
WEEK("2010/1/1") | 52 | |
WEEK("2010/1/1","F1") | 1 | |
WEEK("2010/1/6") | 1 | |
WEEK(35796) | 52 |
23.2 实时数据
1)概述
语法 | WEEK(serial_number) | 返回一个代表一年中的第几周的数字 |
---|---|---|
参数 | serial_number | 表示输入的日期。 注:只支持文本、日期类型 |
2)注意事项
允许 WEEK(serial_number)内参数为空,即WEEK(),当参数为空时,取当前系统的服务器时间对应的所属一年中第几周的数字。
可使用一个缺省日期,或者一个文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
WEEK() | 52 | 对应系统服务器时间为2010-1-1 15:36:25。 |
WEEK("2010-01-01") | 52 | |
WEEK("2010-01-06") | 1 |
24. WEEKDAY-获取对应日期星期数编辑
1)概述
语法 | WEEKDAY(serial_number) | 获取日期并返回星期数。返回值为介于0到6之间的某一整数,分别代表星期中的某一天(从星期日到星期六)。 |
---|---|---|
参数 | serial_number | 表示输入的日期 抽取数据中:除文本、日期类型,还支持1900年的系列数,例如35796为1998-01-01 实时数据中:只支持文本、日期类型 |
2)注意事项
支持使用一个日期或文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
WEEKDAY("2005/9/10") | 6 | (星期六)注:实时数据不支持2005/9/11 格式,需要改为 2005-09-10 格式。 |
WEEKDAY("2005/9/11") | 0 | (星期日)注:实时数据不支持2005/9/11 格式,需要改为 2005-09-10 格式。 |
WEEKDAY(35796) | 4 | (星期四) 实时数据不支持该写法 |
25. TODAY-获取当前日期编辑
1)概述
语法 | TODAY() | 是获取当前的日期。 |
---|
2)注意事项
没有参数。
5.1.7 之后的抽取数据版本 FineBI 不支持 today()-1 的函数写法,不能做减法;实时数据版本合法并能返回正确结果。
若抽取数据版本需要计算当前日期的前一天,可使用DATEDELTA(TODAY(),-1),结果如下图所示:
公式说明:
公式 | 说明 |
---|---|
TODAY() | 返回当前日期 |
DATEDELTA(TODAY(),-1) | 返回当前一个日期前一天的日期 |
3)示例
公式 | 结果 | 备注 |
---|---|---|
TODAY() | 2005-9-10 | 如果系统日期是 2005 年 9 月 10 日 |
26. TIME-指定时间的小数编辑
1)概述
语法 | TIME(hour,minute,second) | 返回代表指定时间的小数 |
---|---|---|
参数1 | hour | 介于 0 到 23 之间的数 |
参数2 | minute | 介于 0 到 59 之间的数 |
参数3 | second | 介于 0 到 59 之间的数 |
2)注意事项
抽取数据支持写入三个数值或者文本参数
实时数据可使用三个数值类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
TIME(14,40,0) | 2:40 PM | |
TIME(19,43,24) | 7:43 PM |
27. SECOND-返回某一指定时间的秒数编辑
27.1 抽取数据
1)概述
语法 | SECOND(serial_number,格式) | 返回某一指定时间的秒数,其值是介于0与59之间的一个整数。 |
---|---|---|
参数1 | serial_number | 包含所求秒数的时间。 |
参数2 | 格式 | 例如:HH:mm:ss |
2)注意事项
允许SECOND(serial_number,格式)内参数为空,即SECOND(),当参数为空时,取当前系统的服务器时间对应的秒数。
第二个参数可缺省
3)示例
公式 | 结果 | 备注 |
---|---|---|
SECOND() | 25 | 对应系统服务器时间为2010-1-1 15:36:25。 |
SECOND("15:36:25") | 25 | |
SECOND("15:36:25","HH:mm:ss") | 25 |
27.2 实时数据
1)概述
语法 | SECOND(serial_number) | 返回某一指定时间的秒数,其值是介于0与59之间的一个整数。 |
---|---|---|
参数 | serial_number | 包含所求秒数的时间。 |
2)注意事项
允许SECOND(serial_number)内参数为空,即SECOND(),当参数为空时,取当前系统的服务器时间对应的秒数。
可缺省日期或使用一个文本类型参数。
3)示例
公式 | 结果 | 备注 |
---|---|---|
SECOND() | 25 | 对应系统服务器时间为2010-1-1 15:36:25 |
SECOND("15:36:25") | 25 |
28. QUARTER-返回指定时间对应的季度编辑
28.1 抽取数据
1)概述
语法 | QUARTER(serial_number,格式) | 返回时间所在季度,若无参数则返回当前服务器时间所在季度 |
---|---|---|
参数1 | serial_number | 可以为空,参数类型为任意 |
参数2 | 格式 | 可以为空,参数类型为文本 |
返回值 | 数值 | 返回数值 |
2)示例
公式 | 结果 | 备注 |
---|---|---|
QUARTER() | 当前服务器时间所在季度 | |
SECOND("2017-03-07 00:00:00") | 1 | |
QUARTER("2017/03/07") | 1 |
28.2 实时数据
1)概述
语法 | QUARTER:(serial_number,格式) | 返回时间所在季度,若无参数则返回当前服务器时间所在季度 |
---|---|---|
参数1 | serial_number | 可以为空,参数类型为日期或文本 |
参数2 | 格式 | 可以为空,参数类型为文本 |
返回值 | 数值 | 返回数值 |
2)示例
公式 | 结果 | 备注 |
---|---|---|
QUARTER() | 当前服务器时间所在季度 | |
SECOND("2017-03-07 00:00:00") | 1 | |
QUARTER("2017/03/07") | 1 |