基于当前日期的一周至今日期

时间:2019-01-22 12:24:48

标签: reporting-services ssrs-2012

我正在寻找一个表达式,该表达式可让我找到“日期”字段中星期几的日期,以便在Tablix过滤器中使用。

例如,我的日期字段今天是22/01/2019。我想要一个表达式,它将返回21/01/2019。如果日期为26/01/2019,则仍应返回21/01/2019。

对于下一周31/01/2019将返回28/01/2019。

一周从星期一开始,到星期日。

是否也可以进行类似的表达,但也可以找到月初?

有可能吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

要获取发生的上周一的日期,可以使用

=Today.AddDays(1-WeekDay(Today(),FirstDayOfWeek.Monday))

在本月的第一天

=DateSerial(Year(Today()), Month(Today()), 1)

以上两种都是基于today()函数的,如果您需要基于date参数的表达式,则表达式有些不同,但是您的问题是“ today”。

答案 1 :(得分:0)

一周中的星期一使用以下表达式:

DateAdd(“ d”,DatePart(DateInterval.WeekDay,Fields!myDatefield.Value,0,0)+ 1,Fields!myDatefield.Value)

每月的第一天使用以下表达式:

= DateAdd(“ d”,-(Day(Fields!myDatefield.Value)-1),Fields!myDatefield.Value)