日期函数

  • 文档创建者:doreen0813
  • 编辑次数:48次
  • 最近更新:Roxy 于 2021-05-06
  • 1. 概述

    1.1 版本

              FineBI版本        JAR 包功能变动
    5.1  --
    5.1.72020-11-05函数释义优化&明确函数参数合法性
    5.1.112021-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之间的一个数。
    参数1serial_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)返回两个指定日期间的天数、月数或年数。
    参数1start_date

    代表所指定时间段的初始日期 

    可以为1900年系列数,例如35796为1998-01-01。

    注:实时数据只支持文本、日期类型。

    参数2end_date

    代表所指定时间段的终止日期

    可以为1900年系列数,例如35796为1998-01-01。

    注:实时数据只支持文本、日期类型。

    参数3unit函数返回信息的类型。 若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)返回两个指定日期间的天数、月数或年数。
    参数1start_date

    代表所指定时间段的初始日期。只支持文本、日期类型。

    参数2end_date

    代表所指定时间段的终止日期。只支持文本、日期类型。

    参数3unit函数返回信息的类型。 若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的日期。
    参数1date

    date除了支持文本、日期类型,还支持1900年系列数,例如35796为1998-01-01。 

    参数2deltaDays可以为正值,负值,零

    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的日期。
    参数1date

    只支持文本、日期类型

    参数2deltadays可以为正值,负值,零

    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)返回指定年月的指定周的周几的具体日期。
    参数1year
    参数2month
    参数3weekOfMonth月的指定周
    参数4dayOfWeek返回指定年月的指定周的周几的具体日期

    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天,可用此函数帮助计算支付款项。
    参数1start_date

    start_date和end_date:是用于计算期间天数的起止日期。 

    参数2end_date
    参数3method它指定了在计算中是采用欧洲方法还是美国方法。 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之间的一个整数
    参数1serial_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)返回两个日期之间的时间差。
    参数1date1

    date1,date2表示要输入的两个日期,当date1早于date2时,是负值;date1晚于date2,是正值,若date1/2为数值,按照1900年的系列数逻辑处理,例如35796为1998-01-01。 

    注:实时数据只支持文本、日期类型。

    参数2date2
    参数3op表示返回的时间单位:"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)返回一个表示某一特定日期。
    参数1year

    代表年,可为一到四位数。 

    参数2month代表月份。若month<12,则函数把参数值作为月。若month>12,则函数从年的一月份开始往上累加。
    参数3day代表日期。进位逻辑同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

    表示输入的日期。

    • 抽取数据中date除了支持文本、日期类型,还支持1900年的系列数,例如35796为1998-01-01 

    • 实时数据中只支持文本、日期类型。

    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")返回一个代表一年中的第几周的数字
    参数1serial_number

    表示输入的日期。也可以是系列数,如在1900年日期系统,1998年1月1日存为系列数35796 

    参数2"F1"/"F7"可以在决策平台中设置以周天还是周一为一周的开始。F1/F7如果不输入默认值为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),结果如下图所示:

    1607048655418645.png

    公式说明:

    公式
    说明
    TODAY()返回当前日期
    DATEDELTA(TODAY(),-1)

    返回当前一个日期前一天的日期 

    3)示例

    公式
    结果备注
    TODAY()2005-9-10如果系统日期是 2005 年 9 月 10 日

    26. TIME-指定时间的小数

    1)概述

    语法TIME(hour,minute,second)返回代表指定时间的小数
    参数1hour介于 0 到 23 之间的数
    参数2minute介于 0 到 59 之间的数
    参数3second介于 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之间的一个整数。
    参数1serial_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,格式)

    返回时间所在季度,若无参数则返回当前服务器时间所在季度

    参数1serial_number

    可以为空,参数类型为任意

    参数2格式

    可以为空,参数类型为文本

    返回值

    数值

    返回数值

    2)示例

    公式结果
    备注
    QUARTER()当前服务器时间所在季度
    SECOND("2017-03-07 00:00:00")1
    QUARTER("2017/03/07")1

    28.2 实时数据

    1)概述

    语法
    QUARTER:(serial_number,格式)

    返回时间所在季度,若无参数则返回当前服务器时间所在季度

    参数1serial_number

    可以为空,参数类型为日期或文本

    参数2格式

    可以为空,参数类型为文本

    返回值

    数值

    返回数值

    2)示例

    公式结果
    备注
    QUARTER()当前服务器时间所在季度
    SECOND("2017-03-07 00:00:00")1
    QUARTER("2017/03/07")1


    附件列表


    主题: 数据分析进阶
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526