关于日期函数
0
请教一个问题:
在案例11:基于时间参数的报表操作
其中参数StatDate 是正确的,默认值为=DateSerial(2006,month(today()),1)
但是参数EndDate 显示的不是我想要的结果(2006/3/31),参数的默认值:=dateadd("m",1,DateSerial(2006,month(today()),0))
我是看着视频做的,个人理解此公式写的不大适合本月情况(本月3月上月2月,只有28日)
为了让EndDate 的默认值显示为2006/3/31,我改成了=DateSerial(2006,month(today())+1,0)),但是这样的写法,系统提示错误。
实际工作中,我想将EndDate的默认值设置为本月的上个工作日,好像没有内置的函数……
PS:显示为2006/3/31日的问题已解决:=iif(MONTH(today)=3,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=5,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=7,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=10,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=12,DateSerial(2006,MONTH(today),31),dateadd("m",1,DateSerial(2006,MONTH(today),0))))))),还请感兴趣的帮忙验证一下,谢谢~
我:
SSRS中没有OR函数吗?我没找到,否则就不用嵌套这么多层了~
在案例11:基于时间参数的报表操作
其中参数StatDate 是正确的,默认值为=DateSerial(2006,month(today()),1)
但是参数EndDate 显示的不是我想要的结果(2006/3/31),参数的默认值:=dateadd("m",1,DateSerial(2006,month(today()),0))
我是看着视频做的,个人理解此公式写的不大适合本月情况(本月3月上月2月,只有28日)
为了让EndDate 的默认值显示为2006/3/31,我改成了=DateSerial(2006,month(today())+1,0)),但是这样的写法,系统提示错误。
实际工作中,我想将EndDate的默认值设置为本月的上个工作日,好像没有内置的函数……
PS:显示为2006/3/31日的问题已解决:=iif(MONTH(today)=3,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=5,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=7,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=10,DateSerial(2006,MONTH(today),31),iif(MONTH(today)=12,DateSerial(2006,MONTH(today),31),dateadd("m",1,DateSerial(2006,MONTH(today),0))))))),还请感兴趣的帮忙验证一下,谢谢~
我:
SSRS中没有OR函数吗?我没找到,否则就不用嵌套这么多层了~
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
郑大鹏 2016-03-19 回答
赞同来自:
还有可以用下switch函数,不用IIF嵌套那么多层吧
日期函数:
DateSerial(2006,month(today()),1) 2006年3月1日
dateadd("m",1,DateSerial(2006,month(today()),0)) 2006年4月1日
dateadd("d",-1,dateadd("m",1,DateSerial(2006,month(today()),0))) 2006年3月31日
或者
dateadd("m",1,today()) 上月本日
DateSerial(2006,month(dateadd("m",1,today())),1) 2006年4月1日
dateadd("d",-1,DateSerial(2006,month(dateadd("m",1,today())),1)) 2006年3月31日
okajun - 数据小白 2016-03-19 回答
赞同来自: