RS开发日期提示控件默认为昨天之进阶篇

时隔《RS开发日期提示控件默认为昨天》这篇博文已经很久了,请原谅我隔了这么久才继续来写这篇笔记。也希望读到这篇笔记的朋友可以从这篇笔记中学习到一些关于RS日期控件和JS的一些应用知识,当然这也可以为给业务部门做月报的同学提供一个高易用性的日期处理办法.

1:确保报表有提示页面,提示页面提供了给日期提示控件设置默认值为昨天的功能

2:确保[日期维度].[日]的key值格式为2009-01-01 yyyy-mm-dd

3:确保[事实].[日期]的格式为2009-01-01 yyyy-mm-dd

4:设计过滤器

cast([诊间流量].[日期].[年].[Date_SK].[Date_SK],date)
between 
_first_of_month (?begin_date?) 
and 
_last_of_month (?end_date?)

  

5:extract 方法解析

_first_of_month ( 日期型表达式 )
按照参数的格式,返回将“日期型表达式”转换成同年同月但日值设为 1 得到的日期或日期时间。


示例:_first_of_month ( 2002-04-20 )
结果:2002-04-01

 


示例:_first_of_month ( 2002-04-20 12:10:10.000 )
结果:2002-04-01 12:10:10.000

  

6:_last_of_month方法解析

_last_of_month ( 日期型表达式 )
依据参数,返回“日期型表达式”所表示的月份中的最后一天所对应的日期或日期时间。


示例:_last_of_month ( 2002-01-14 )
结果:2002-01-31

 


示例:_last_of_month ( 2002-01-14 12:10:10.000 )
结果:2002-01-31 12:10:10.000

  

7:extract 方法解析

extract ( 日期部分 , 日期时间型表达式 )
返回一个整数,代表“日期时间型表达式”中日期部分的值(年、月、日、时、分和秒)。


例如:extract ( 年 , 2003-03-03 16:40:15.535 )
结果:2003

 


例如:extract ( 小时 , 2003-03-03 16:40:15.535 )
结果:16

  

8:执行效果

--8.1:当月数据效果

只要开始日期小于结束日期,开始时间和结束日期无论选择当月的哪一天,数据都是从这个月的月初到月末的数据

--8.2:历史数据效果

只要开始日期小于结束日期,开始时间和结束日期无论选择哪个时间,数据都是从开始时间所在月的第一天到结束时间所在月的最后一天的数据

原文地址:https://www.cnblogs.com/wxjnew/p/4450930.html