SSRS如何设置默认日期为上一年的第一天和最后一天?
在SSRS中设置默认日期为上一年的第一天和最后一天
直接用DATEFROMPARTS函数比DATEADD更直观,也不容易出错,具体实现方式如下:
上一年的第一天
使用以下表达式获取上一年1月1日:
=DATEFROMPARTS(YEAR(TODAY())-1, 1, 1)
上一年的最后一天
有两种常用写法:
- 直接指定12月31日:
=DATEFROMPARTS(YEAR(TODAY())-1, 12, 31)
- 或者通过当年第一天往前推一天:
=DATEADD(DAY, -1, DATEFROMPARTS(YEAR(TODAY()), 1, 1))
参数设置步骤
- 打开报表的参数属性窗口
- 切换到默认值选项卡,选择「指定值」
- 点击「添加」,将上述表达式粘贴到「值」的表达式框中(记得开头加
=)
如果之前用DATEADD出错,大概率是参数顺序写错了。DATEADD的语法是DATEADD(间隔类型, 增减数量, 基准日期),比如要得到上一年的第一天,用DATEADD的正确写法是:
=DATEADD(YEAR, -1, DATEFROMPARTS(YEAR(TODAY()), 1, 1))
这种写法是先取当年的第一天,再往前推一年,结果和DATEFROMPARTS的写法一致,但后者更直接。
内容的提问来源于stack exchange,提问作者raky
相关产品推荐
相关产品推荐

