Lan*_*nce 7 datediff ssrs-2008
我已经看到这个问题了很多,我似乎无法找到一个明确的答案
"如何计算两个日期之间的工作日?"
下面的表达式将给我总天数,但我希望排除星期六和星期日.
=DateDiff("d",Parameters!STARTDATE.Value,Parameters!ENDDATE.Value)
Run Code Online (Sandbox Code Playgroud)
我很感激有关如何实现这一目标的具体帮助.
先感谢您.
小智 5
这段代码并不完全正确.一年可以在周六或周日开始或结束.例如,2011年从星期六开始,到星期六结束.2011年1月1日和2日分别是周六和周日,2011年12月31日也是周六.上面的代码没有说明这种情况.以下代码是正确的:
= (DateDiff(DateInterval.day,Parameters!BeginDate.Value,Parameters!EndDate.Value)+1)
- (DateDiff(DateInterval.WeekOfYear,Parameters!BeginDate.Value,Parameters!EndDate.Value)*2)
- IIF(Weekday(Parameters!BeginDate.Value,1) = 1,1,0)
- IIF(Weekday(Parameters!BeginDate.Value,1) = 7,1,0)
- IIF(Weekday(Parameters!EndDate.Value,1) = 1,1,0)
- IIF(Weekday(Parameters!EndDate.Value,1) = 7,1,0)
Run Code Online (Sandbox Code Playgroud)
链接中的 SQL(两个日期之间的工作日数)针对 SSRS 进行了翻译:希望这将为您提供一个良好的起点。将其输入到文本框的表达式中。
=(DateDiff(DateInterval.day,Parameters!STARTDATE.Value,Parameters!ENDDATE.Value)+1)
-(DateDiff(DateInterval.WeekOfYear,Parameters!STARTDATE.Value,Parameters!ENDDATE.Value)*2)
-(iif(Weekday(Parameters!STARTDATE.Value) = 7,1,0)
-(iif(Weekday(Parameters!ENDDATE.Value) = 6,1,0))-1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21820 次 |
| 最近记录: |