SSRS - 工作日名称

时间:2014-12-04 08:17:07

标签: reporting-services ssrs-2008-r2

任何赞赏的建议

我的标题为expression =WeekdayName(weekday(fields!date.value))

这将返回星期几,但是,它会提前一天返回一周中的某一天,例如,当我将星期一的日期放在报告中显示为“星期二”的参数时。

我的问题是可以调整上面的表达式以显示前一天的工作日名称eg =WeekdayName(weekday(fields!date.value -1))吗?我试过这个,但收到了一个错误。

感谢。

3 个答案:

答案 0 :(得分:5)

因此,您希望从传入日期中扣除一天,然后您可以使用

  = DateAdd("d", -1, yourdateField)

这样您就可以减去约会后的任意天数。

但是你是否试图了解为什么它会给出前一天的日期。请检查系统日期时间,或者使用

进行检查
 =WeekdayName(weekday(Today())) 

并查看它是否为您提供当前日期的正确星期几。

答案 1 :(得分:4)

工作日和工作日名称函数都有另一个可选参数,用于定义一周的开始日期。 问题是2个函数不要将此参数默认为相同的值,因此根据您的服务器设置,您应该明确设置这些函数的第二个参数。

答案 2 :(得分:0)

无需调用日期函数。由于weekday()函数返回并且整数可以偏移结果并使用Mod运算符将其保持在边界内:

=WeekdayName((weekday(fields!date.value)+5) Mod 7)+1)

括号对于确保首先加入是很重要的。