前言

最近在对接实现帆软相关的可视化需求时,发现在帆软BI编辑仪表盘,新增自定义计算字段时,有一些函数是无法搜索得到的。其实,帆软BI和FineReport,两者的函数都是通用的。因此FineReport自带的一些函数,尽管在帆软BI找不到,但实际是可以使用的。这里暂且把日期函数做个总结,以备后用。

正文

说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。

DATE

DATE(year,month,day):返回一个表示某一特定日期的系列数。

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

Month:代表月份。

若1<=month<= 12,则函数把参数值作为月。

若month>12,则函数从年的一月份开始往上累加。例如: DATE(2000,25,2)等于2002年1月2日的系列数。

Day:代表日。

若日期小于等于某指定月的天数,则函数将此参数值作为日。

若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。例如:DATE(2000,3,35)等于2000年4月4日的系列数。

备注:

若需要处理公式中日期的一部分,如年或月等,则可用此公式。

若年,月和日是函数而不是函数中的常量,则此公式最能体现其作用。

示例:

DATE(1978,9, 19)等于1978年9月19日.

DATE(1211,12, 1)等于1211年12月1日.

DATEDELTA

DATEDELTA(date,deltadays):返回一个日期——date后deltadays的日期。

deltaDays可以为正值,负值,零。

示例:

DATEDELTA(“2008-08-08”,-10)等于2008-07-29。

DATEDELTA(“2008-08-08”,10)等于2008-08-18。

DATEDIF

DATEDIF(start_date,end_date,unit):返回两个指定日期间的天数、月数或年数。

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

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

Unit:函数返回信息的类型。

若unit=“Y”,则DATEDIF返回指定时间段的年差数。

若unit=“M”,则DATEDIF返回指定时间段的月差数。

若unit=“D”,则DATEDIF返回指定时间段的日差数。

若unit=“MD”,则DATEDIF忽略年和月,返回指定时间段的日差数。

若unit=“YM”,则DATEDIF忽略年和日,返回指定时间段的月差数。

若unit=“YD”,则DATEDIF忽略年,返回指定时间段的日差数。

示例:

DATEDIF(“2001/2/28”,“2004/3/20”,“Y”)等于3,即在2001年2月28日与2004年3月20日之间有3个整年。

DATEDIF(“2001/2/28”,“2004/3/20”,“M”)等于36,即在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天。

DATEINMONTH

DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。

示例:

DATEINMONTH(“2008-08-08”,20)等于2008-08-20。

DATEINQUARTER

DATEINQUARTER(date,number):函数返回在某一个季度当中第几天的日期。

示例:

DATEINQUARTER(“2009-05-05”, 20)等于2009-04-20。

DATEINWEEK

DATEINWEEK(date,number):函数返回在某一个星期当中第几天的日期。

示例:

dateInWeek(“2008-08-28”,2)等于2008-08-26。

DATEINYEAR

DATEINYEAR(date,number):函数返回在某一年当中第几天的日期。

示例:

dateInYEAR(“2008/12/03”,300)等于2008-10-26。

DATESUBDATE

DATESUBDATE(date1,date2, op):返回两个日期之间的时间差。

op表示返回的时间单位:

“s”,以秒为单位。

“m”,以分钟为单位。

“h”,以小时为单位。

“d”,以天为单位。

“w”,以周为单位。

示例:

DATESUBDATE(“2008-08-08”,“2008-06-06”,“h”)等于1512。

DATETONUMBER

DATETONUMBER(date):返回自 1970 年 1月 1日 00:00:00 GMT经过的毫秒数。

示例:

DATETONUMBER(“2008-08-08”)等于1218124800000。

DAY

DAY:(serial_number)返回日期中的日。DAY是介于1和31之间的一个数。

Serial_number:含有所求的年的日期.

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

DAY(“2000/1/1”)等于1。

DAY(“2006/05/05”)等于5。

DAY(“1997/04/20”)等于20。

DAY(35796)等于1。

DAYS360

DAYS360(start_date,end_date,method):按照一年 360天的算法(每个月以 30天计,一年共计 12个月),

返回两日期间相差的天数,这在会计计算中将会用到。如果财务系统是基于一年 12个月,每月 30天,

可用此函数帮助计算支付款项。

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

Method:它指定了在计算中是采用欧洲方法还是美国方法。

Method定义 :

FALSE或忽略 美国方法 (NASD)。如果起始日期是一个月的 31号,则等于同月的 30号。如果终止日期是一个月的

31号,并且起始日期早于 30号,则终止日期等于下一个月的 1号,否则,终止日期等于本月的 30号。

TRUE欧洲方法。无论是起始日期还是终止日期为一个月的 31号,都将等于本月的 30号。

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

DAYS360(“1998/1/30”,“1998/2/1”)等于 1.

DAYSOFMONTH

DAYSOFMONTH(date):返回从1900年1月后某年某月包含的天数。 示例:

DAYSOFMONTH(“1900-02-01”)等于28。

DAYSOFMONTH(“2008/04/04”)等于30。

DAYSOFQUARTER

DAYSOFQUARTER(date):返回从1900年1月后某年某季度的天数。

示例:

DAYSOFQUARTER(“2009-02-01”)等于90。

DAYSOFQUARTER(“2009/05/05”)等于91。

DAYSOFYEAR

DAYSOFYEAR(year):返回1900年以后某年包含的天数。

示例:

DAYSOFYEAR(2008)等于365,等价于DAYSOFYEAR(“2008-01-01”)。

DATEVALUE

DATEVALUE(date_text):返回代表date_text的一个系列数。此函数可用来把一个文本形式的日期转化为一个系列数。

Date_text:是在电子表格日期格式中代表日期的文本格式。例如“2000/2/28”

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年

日期系统中,永中Office电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存

为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

DATEVALUE(“2000/1/1”)等于36526。

HOUR

HOUR(serial_number):返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。

Serial_number:包含所求小时的时间。

示例:

HOUR(“11:32:40”)等于11。

MINUTE

MINUTE(serial_number):返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。

Serial_number:包含所求分钟数的时间。

示例:

MINUTE(“15:36:25”)等于36。

MONTH

MONTH:(serial_number)返回日期中的月。月是介于1和12之间的一个数。

Serial_number:含有所求的月的日期.

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

MONTH(“2004/5/5”)等于5。

MONTH(35796)等于1。

MONTHDELTA

MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。

示例:

MONTHDELTA(“2008-08-08”,4)等于2008-12-08。

NOW

NOW():获取当前时间。

示例:

如果系统时间是15点18分38秒

则NOW()等于15:18:36。

SECOND

SECOND(serial_number):返回某一指定时间的秒数,其值是介于0与59之间的一个整数。

Serial_number:包含所求秒数的时间。

示例:

SECOND(“15:36:25”)等于25。

SECOND(“15:36:25”,“HH:mm:ss”)等于25。

TIME

TIME(hour,minute,second):返回代表指定时间的小数。介于0:00:00(12:00:00 A.M.)与23:59:59(11:59:59 P.M.)之间的时间可返回0到0.99999999之间的对应数值。

Hour:介于0到23之间的数。

Minute:介于0到59之间的数。

Second:介于0到59之间的数。

示例:

TIME(14,40,0)等于2:40 PM。

TIME(19,43,24)等于7:43 PM。

TODATE

TODATE()函数可以将各种日期形式的参数转换为日期类型。

它有三种参数的形式:

1参数是一个日期型的参数,那么直接将这个参数返回。

示例:

TODATE(DATE(2007,12,12))返回2007年12月12日组成的日期。

2参数是以从1970年1月1日0时0分0秒开始的毫秒数,返回对应的时间。

示例:

TODATE(1023542354746)返回2002年6月8日。

3参数是日期格式的文本,那么返回这个文本对应的日期。

示例:

TODATE(“2007/10/15”)返回2007年10月5日组成的日期。

TODATE(“2007-6-8”)返回2007年6月8日组成的日期。

4有两个参数,第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式。

示例:

TODATE(“1/15/07”,“MM/dd/yy”)返回07年1月15日组成的日期.

注意:此处的格式中月份必须大写MM,年份小写:yy(不可以为yyyy)。天份小写:dd。

TODAY

TODAY():获取当前日期。

示例:

如果系统日期是2005年9月10日

则TODAY()等于2005/9/10。

WEEKDAY

WEEKDAY(Serial_number):获取日期并返回星期数。返回值为介于0到6之间的某一整数,分别代表星期中的某一天(从星期日到星期六)。

Serial_number:输入的日期

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

举例:

WEEKDAY(“2005/9/10”)等于6(星期六)。

WEEKDAY(“2005/9/11”)等于0(星期日)。

WEEKDAY(35796)等于4(星期四)。

WEEKNUM

WEEKNUM(serial_num):返回一个代表一年中的第几周的数字。

Serial_num:表示输入的日期。

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

WEEKNUM(“2005/1/1”)等于1。

WEEKNUM(“2005/1/6”)等于2。

WEEKNUM(35796)等于1。

YEAR

YEAR:(serial_number)返回日期中的年。Year是介于1900和9999之间的一个数。

Serial_number:含有所求的年的日期.

备注:

FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,

将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。

示例:

YEAR(“2000/1/1”)等于2000。

YEAR(“2006/05/05”)等于2006。

YEAR(“1997/04/20”)等于1997。

YEAR(35796)等于1998。

YEARDELTA

YEARDELTA(date,delta):返回指定日期后delta年的日期。

示例:

YEARDELTA(“2008-10-10”,10)等于2018-10-10。

帆软BI日期函数总结相关推荐

  1. 帆软bi 观远bi_与电源bi一起加入

    帆软bi 观远bi I've described the basics of joins in my first article. Hope you have found it helpful. In ...

  2. 如何使用帆软BI直接分析明道云数据

    对于大部分企业来说,数据无疑是重要的资产,企业的价值与其拥有的数据规模.活性,数据利用能力成正比.企业的数据资产将在未来演绎出精彩的商业模式,例如租售数据.数据使能.数据媒体.数据空间运营和大数据技术 ...

  3. 局域网内帆软BI使用arcgis发布的wms服务

    1,首先要安装arcgis 的service和desktop 下载地址为:arcgis 10.4.1 server 链接:https://pan.baidu.com/s/17ptit2AjuxG8ai ...

  4. 2022帆软BI数据分析大赛强势来袭,瓜分20W奖金

    2022帆软BI数据分析大赛重磅来袭!"帆软BI数据分析大赛"由帆软软件举办,面向全社会相关领域的从业者和爱好者,集竞赛.培训.交流于一体,旨在帮助相关从业人员提升数据分析技能,引 ...

  5. 2022帆软BI数据分析大赛重磅来袭!瓜分20W奖金!

    近期受邀担任2022帆软BI数据分析大赛评委,这次比赛是一个让大家学习提高自己非常不错的机会,比赛包含了: 专属导师答疑+4场直播贯穿全程 覆盖十大行业结识各行数据精英 赢取求职内推权益助力职业发展 ...

  6. 数据集成到可视化分析,轻松驾驭数据洞察力:ETLCloud与帆软BI完美结合

    在当今数据驱动的业务环境中,企业需要快速而准确地获取.处理和分析大量的数据.为了满足这一需求,ETLCloud通过和帆软BI的集成提供了一种强大的数据采集和数据分析解决方案,通过可视化的ETL工具和灵 ...

  7. FineReport模板设计器(帆软报表)之函数使用

    目录 一.常用函数 1.SUM-求和 1)概述 2)注意事项 3)示例 2.COUNT-求个数 1)概述 2)注意事项 3.AVERAGE-求平均值 1)概述 2)注意事项 3)示例 4.CHAR-返 ...

  8. 帆软BI产品FineBI下一个强硬对手——Metabase

    在商业BI产品中,国内的FineBI(帆软的FineReport报表工具之外的另一款BI产品)处于领先地位,这些年大大小小的开源BI系统出了不少,但对Tableau.FineBI这类商业软件的影响其实 ...

  9. 2022帆软BI数据分析大赛他来了!

    大家好,我是小z 有不少粉丝问过我有什么可视化项目或者比赛 今天给大家推荐一个hin不错的BI数据分析大赛,感兴趣的同学可以搞起! 帆软想必大家多少都有听过,这个比赛除了比赛本身,还有几个吸引人的地方 ...

最新文章

  1. dw8与mysql的连接,VS2019连接mysql8.0数据库的教程图文详解
  2. 计算机视觉模型效果不佳,你可能是被相机的Exif信息坑了
  3. dw的css样式怎么删除掉,三种方法教你DreamWeaver下如何应用CSS样式
  4. frp端口映射服务器搭建
  5. python函数和方法的入参格式有哪些_Python函数的参数常见分类与用法实例详解
  6. 黑苹果挂载不了分区_让黑苹果变得更完美——BCM94532HMB无线蓝牙接力完美驱动!...
  7. 夺命雷公狗---微信开发09----玩转单图文消息回复
  8. Selenium自动化测试系列文章汇总
  9. 三维点云学习(1)上-PCA主成分分析 法向量估计
  10. Android蓝牙A2dp profile的使用
  11. python编程特点_Python基础(1)--Python编程习惯与特点
  12. PySide QtCore.Signal帮助手册
  13. Python(十六):标准库
  14. 《机器视觉算法与应用》第3章 机器视觉算法之数据结构——学习笔记
  15. Exception thrown at 0x00007FF7A7B64FB3 in xx.exe: 0xC0000005: Access violation reading location 0x00
  16. CRM客户关系管理系统源码 CRM小程序源码
  17. DataStreamer Exception
  18. [论文]欠驱动水下机器人的平面轨迹规划与跟踪控制设计
  19. 黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)
  20. 计算机安全凭据,4776 (S、F) 计算机尝试验证帐户的凭据。 (Windows 10) - Windows security | Microsoft Docs...

热门文章

  1. 【强化学习】手把手教你实现游戏通关AI(1)——游戏界面实现
  2. CISP注册信息安全专业人员知识体系大纲(CISE/CISO)
  3. HDU 6441 Find Integer(费马大定理)
  4. 编译工具 Ninja 介绍
  5. 如何使用EXCEL批量检查地址格式?
  6. 塑胶材料的各种特性,热塑性塑料详解
  7. [疯狂Java]JDBC:事务管理、中间点、批量更新
  8. 2018.06.25 一个不知道叫什么好的U盘启动工具集
  9. 同步BUCK死区时间产生电路原理及仿真
  10. PyQt5,一个好的qt教程。