Reporting services SSRS-工作日名称

Reporting services SSRS-工作日名称,reporting-services,ssrs-2008-r2,Reporting Services,Ssrs 2008 R2,有什么建议吗 我有一个列标题expression=WeekdayName(weekday(fields!date.value)) 它返回一周中的某一天,但是,它提前一天返回一周中的某一天,例如,当我将星期一的日期放入参数中时,它在报告中显示为“星期二” 我的问题是,是否可以调整上述表达式以显示一天前的工作日名称,eg=WeekdayName(weekday(fields!date.value-1))?我试过了,但出了一个错误 谢谢。所以你想从你的入职日期中减去一天,然后你可以使用 = Dat

有什么建议吗

我有一个列标题
expression=WeekdayName(weekday(fields!date.value))

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

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


谢谢。

所以你想从你的入职日期中减去一天,然后你可以使用

  = DateAdd("d", -1, yourdateField)
这样你就可以从你的约会中减去任何天数

但是你有没有试着去了解为什么它会给出前一天的日期。请务必检查系统日期和时间,否则请与

 =WeekdayName(weekday(Today())) 

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

Weekday和weekdayname函数都有另一个可选参数来定义一周的开始日期。
问题是这两个函数没有将此参数默认为相同的值,因此根据您的服务器设置,您应该显式设置这些函数的第二个参数。

无需调用日期函数。当weekday()函数返回and integer时,您可以偏移结果并使用Mod运算符将其保持在边界内:

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

括号对于确保先添加内容很重要。

谢谢您的回复。我想做的是将“星期二”改为“星期一”,这样报告中的数据实际上是在正确的日期报告的。例如,当我运行2014年1月12日的报告时,报告上写着“星期二”,我想把它往后移一天。至于为什么会给出前一个日期,我感到困惑,并将进行单独的调查。谢谢。你可以使用
DateAdd
-1
来缩短日期,这样你就可以拥有前一天。是的,这非常有效-=工作日名称(工作日(DateAdd(“D”,-1,fields!date.value))-谢谢你不辞辛劳地回复我。没问题。很高兴这有帮助。