reporting-services - 当前星期一和当前星期五的 SSRS 表达式

标签 reporting-services expression dateadd dateinterval

我在 SSRS 中的报告文本框有以下表达式

="TR1's Sent Between "+Format(dateadd(DateInterval.Day,1-WeekDay(Today), Today), "dd/MM/yyyy")

这将返回星期日而不是星期一。有谁知道如何显示当前星期一和当前星期五的日期?如果你能解释每个部分,让我理解格式,那就太好了

最佳答案

尝试使用这两个表达式:

对于 Mondays 你可以使用这样的东西:

=Format(Today.AddDays(1-WeekDay(Today,FirstDayOfWeek.Monday)),"dd/MM/yyyy")

对于星期五,您可以使用:

=FORMAT(Today.AddDays(5-WeekDay(Today,FirstDayOfWeek.Monday)),"dd/MM/yyyy")

您的表达式的第一个问题是您没有在 WeekDay 函数中指定一周的第一天,如果您的表达式返回星期日日期,您的系统默认一周的第一天是星期日。

我的表达式采用今天的日期并加上/减去获得一周的第一天所需的天数:星期一。当我使用 FirstDayOfWeek.Monday 在我的表达式中设置一周的第一天时,它计算 1-1 = 0 它将在今天的日期中添加零天,因为今天是星期一(至少现在在哥伦比亚)。

对于星期五也是类似的,星期五是一周的第 5 天,因此您必须在今天的日期上加上/减去所需的天数才能得到它的日期。 5-1 = 4(5 - 1 今天是星期几,考虑到星期一是第一天),现在只需将今天的日期加上 4 天即可返回星期五日期。

如果这有帮助,请告诉我。

关于reporting-services - 当前星期一和当前星期五的 SSRS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219201/

相关文章:

reporting-services - SSRS中Tablix列的动态宽度调整

algorithm - 生成计算给定 N 的有效表达式

mysql - Hibernate createQuery() 用于 Date_add

sql-server - TSQL 从 "seed"日期开始每隔一个星期五确定一次

javascript - 使用 Javascript 在 ssrs 中创建 POP UP 子报告不起作用

reporting-services - Reporting Services 可用性 SQL Server Express 2008 R2

c# - 否定表达式

mysql - 在 MS Access 中将时间戳转换为人类可读

sql-server - SQL Reporting Services 05 - 表头上的自定义代码总和显示

c# - 我如何将一个简单的表达式附加到 IQueryable