数据分析软件FineReport教程:[27]时间段报表

 时间:2024-10-19 12:39:21

下面就通过数据分析软件FineReport来简单介绍一下。

工具/原料

数据分析软件FineReport7.1.1

大小:148.2M适用平台:windows/linux

开始时间、结束时间

1、问题描述若数据库中存在一列数据是日期型的,希望查询某一段时间内的数据,此时要如何实现呢?

2、实现思路定义两个报表参数(一个开始时间一个结束时间),然后设置过滤条件为日期列大于开始时间并且日期列小于结束时间。

3、打开模板打开模板:%FR_HOME%\W娣定撰钠ebReport\WEB-INF\reportlets\doc\Parameter\DynamicSQL\DynamicSQL.cpt。

4、修改数据集将数据集修改为:SELECT*FROM订单。

5、报表参数设置点击模板>报表参数,添加两个报表参数,分别为starttime和endtime。

6、修改参数界面点击添加全部,将参数控件添加到参数界面中,并将参数界面设置为如下样式:设置参数starttime和endtime的控件类型为日期型,返回值类型都为默认的字符串型。

数据分析软件FineReport教程:[27]时间段报表

7、过滤条件设置双击A2单元格,选择过滤,给A2单元格增加如下图所示的过滤条件:注:过滤条件的意思是订购日期大于等于开始日期并且小于等于结束日期。

数据分析软件FineReport教程:[27]时间段报表

8、效果查看点击分页预览,选择好开始日期和结束日期后,点击查询按钮,效果如下图:

数据分析软件FineReport教程:[27]时间段报表

周报

1、问题描述若数据库中存在一列数据是日期型的,希望输入某个日期的时候,查询出当前日期所在周的数据即周报查询如下图所示,此时要如何实现呢?

数据分析软件FineReport教程:[27]时间段报表

2、打开模板打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\TimeScale\TimeScale.cpt。

3、报表参数设置将报表参数删除,然后重新增加一个名为Date的报表参数。

4、修改参数界面将参数界面设置为如下样式:参数Date的控件类型为日期型,返回值类型为默认的字符串型。

数据分析软件FineReport教程:[27]时间段报表

5、过滤条件设置将原来A2单元格的过滤条件删除,然后重新给A2单元格设置过滤条件,条竭惮蚕斗件处选择公式,如下图所示:第一邗锒凳审个公式:=DATEDELTA($Date,if(tointeger(WEEKDAY($Date))==0,-7,0-WEEKDAY($Date)))即返回查询日期所在周的第一天。第二个公式:=DATEDELTA($Date,if(tointeger(WEEKDAY($Date))==0,0,7-WEEKDAY($Date)))返回查询日期所在周的最后一天。

数据分析软件FineReport教程:[27]时间段报表

6、保存模板点击分页预览,选择某个日期后则只查询该日期所在周的数据,效果如上图。

季报

1、问题描述数据库中存在一列日期型的数据列,希望输入一个日期时,查询出该日期的所在季度的数据,如下图所示,此时要如何实现呢?

数据分析软件FineReport教程:[27]时间段报表

2、打开模板打开模板:%FR_HOME%\W娣定撰钠ebReport\WEB-INF\reportlets\doc\Parameter\TimeScale\TimeScale1.cpt。

3、参数界面设置将参数界面中的周报改成季报即可,参数界面的表样和参数类型不需要修改。

4、过滤条件设置将原先的过滤条件删除,然后增加如下图所示的过滤条件:第一个公式:YE钽吟篑瑜AR(订购日期)==YEAR($Date)表示订购日亏坚橘锝期的年份要和查询的年份相同。第二个公式:TOINTEGER(MONTH(订购日期)/3.3)+1==TOINTEGER(MONTH($Date)/3.3)+1表示订购日期的季度与查询的季度要相同。注:TOINTEGER(MONTH(订购日期)/3.3)+1表示获取月份所在的季度,TOINTEGER是取整,为了使3的倍数的月份在对应的季度内,所以3.3这个数字可以是3到4中的任一小数。如若是6月,6除以3.3再取整的话则为1,则表示6在第二个季度内,依次类推。

数据分析软件FineReport教程:[27]时间段报表

5、保存模板点击分页预览,选择某个日期后则只查询该日期所在季度的数据,效果如上图。

日期的加减

1、问题描述在进行数据查询时,经常会遇到查询对应于某个日期的前后指定天数的数据,如下图所示,此时要如何实现呢?

数据分析软件FineReport教程:[27]时间段报表

2、打开模板打开模板:%FR_HOME%\W娣定撰钠ebReport\WEB-INF\reportlets\doc\Parameter\TimeScale\TimeScale2.cpt。

3、报表参数设置将原来的Date参数增加一个默认值,默认值类型为字符串,值为2010-03-11。再增加一个名为day的参数。

4、参数界面设置将参数界面设置为如下样式:

数据分析软件FineReport教程:[27]时间段报表

5、设置参数Date的控件类型为日期型,返回值类型为默认的字符串。参数控件day的控件类型为下拉框,在右侧上方的属性表中选择数据字典,数据字典如下图所示:

数据分析软件FineReport教程:[27]时间段报表

6、过滤条件设置将A2原来的过滤条件删除。给A2单元格增加如下两个过滤条件:

数据分析软件FineReport教程:[27]时间段报表

7、保存模板点击分页预览,选择某个日期后再选择查询范围,效果如上图。

根据时间间隔取数

1、问题描述当数据库里面数据量很大的时候,有个时间字段,而且时间字目愿硅囫段是每分钟或者每秒钟都会有一条数据生成的时候。我们可以通过时间间隔来筛选数据,瞀闩程狨从而显示出来想要浏览的数据。例如实现如下效果:在starttime和endtime里面输入查询时间的范围,然后在number里面输入间隔数为3,意思就是每隔3秒的数据才显示出来。

数据分析软件FineReport教程:[27]时间段报表

2、增加数据集新建工作簿,添加数据集ds1,SQL语句:SELEC哌囿亡噱T*,datediff(s,convert(varchar(100),datets,111),conver墉掠载牿t(varchar(100),datets,120))%${number}asjgFROMdbo.datetestwhere1=1${if(len(starttime)==0,"","andCONVERT(varchar(100),datets,120)>='"+starttime+"'")}${if(len(endtime)==0,"","andCONVERT(varchar(100),datets,120)<='"+endtime+"'")}说明:datediff(s,convert(varchar(100),datets,111),convert(varchar(100),datets,120))%${number}asjg//DateDiff函数可用来决定两个日期之间所指定的时间间隔数目.${number}这个是参数传过来间隔数。中间用%取模获取值为0的。${if(len(starttime)==0,"","andCONVERT(varchar(100),datets,120)>='"+starttime+"'")}//判断一下如果starttime为空的时候查询所有时间,否则根据CONVERT(varchar(100),datets,120)>='"+starttime+"'传过来参数进行筛选。刷新参数,给number参数设置默认值为1。

3、表样设计依据下图设置表样:给B4添加过滤条件“jg等于0”。

数据分析软件FineReport教程:[27]时间段报表

4、参数设计点击参数界面面板,按照下图设置参数界面:

数据分析软件FineReport教程:[27]时间段报表

5、分页预览点击分页预览,输入开始时间,结束时间,间隔数就可以查询了。

如何使用FineReport报表工具实现表图联动 在excel中增加、删除、有条件添加批注的vba代码 Excel如何自定义选项卡和命令组? 统计单条件/多条件以外数据的方法 如何查看oracle中各种scn及相互之间关系
热门搜索
吸烟有害健康的图片 生活小常识图片 服装广告图片 淡水鱼种类图片大全 秀恩爱死得快图片