【发布时间】:2018-11-08 16:01:27
【问题描述】:
我需要帮助来计算报告日期参数的开始日期。
结束日期总是最后一个星期日,这里:=DateAdd("d", 1 - WeekDay(Today(), 1), Today())
我需要帮助的是如何编写一个公式从今天开始返回 6 个月并选择该范围内的第一个星期六..
提前致谢。
【问题讨论】:
标签: date reporting-services formula
我需要帮助来计算报告日期参数的开始日期。
结束日期总是最后一个星期日,这里:=DateAdd("d", 1 - WeekDay(Today(), 1), Today())
我需要帮助的是如何编写一个公式从今天开始返回 6 个月并选择该范围内的第一个星期六..
提前致谢。
【问题讨论】:
标签: date reporting-services formula
假设您的开始日是星期日,那么您可以使用它...
=DATEADD(
DateInterval.Day,
7 - WEEKEDAY( DATEADD(DateInterval.Month,-6,Today()), FirstDayOfWeek.Sunday),
DATEADD(DateInterval.Month,-6,Today())
)
这工作如下
WEEKEDAY( DATEADD(DateInterval.Month,-6,Today()), FirstDayOfWeek.Sunday)
取今天的日期,减去 6 个月,然后找出是什么天数。运行今天 (2018-11-08) 会使用 (2018-05-10),即星期四,这是第 5 天
星期六是第 7 天(如果您一周的第一天是星期日)。由于不能有大于 7 的数字,我们可以简单地减去 7 减去我们降落的天数(从上面),这样我们就需要调整 2 天。
最后,外部的 DATEADD 函数只是说将我们计算的 2 天与 6 个月前的日期相加。
希望这是有道理的!?
如果一周的第一天对您来说不是星期天,那么您可能需要对第二个参数进行一些 Mod% 计算,以计算出正确的调整天数。
【讨论】: