SSRS:以'mm-dd-yyyy'格式返回日期范围的表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSRS:以'mm-dd-yyyy'格式返回日期范围的表达式相关的知识,希望对你有一定的参考价值。

我试图在我的报告中创建一个变量,该变量返回一个字符串,其日期范围如下所示:02-01-2018 - 01-31-2019

我试过这个表达式:

    =FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddMonths(-12), DateFormat.ShortDate) 
    & " -  " &
    FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddDays(-1))

它给了我这个:2/1/2018 - 1/31/2019。

我不能在日期范围内使用/因为我使用变量作为Tablix的页面名称,当我导出报表时,它将最终显示为Excel中的Sheet [Tab]名称。 Excel似乎不接受工作表名称中的/。

简而言之,我需要能够动态创建一个12个月的日期范围,结束于上个月的最后一个日期 - 它应该是一个看起来像02-01-2018 - 01-31-2019的字符串。

答案

这个怎么样:

= Today.AddDays(1-Today.Day).AddYears(-1).ToString("MM-dd-yyyy") & " - " & Today.AddDays(-Today.Day).ToString("MM-dd-yyyy")
另一答案

您可以使用VB.NET .ToString转换为您想要的任何格式。

=TODAY.AddDays(-1).ToString("MM-dd-yyyy")

所以你的字符串就是

=TODAY.AddMonths(-12).ToString("MM-dd-yyyy") & " - " & TODAY.AddDays(-1).ToString("MM-dd-yyyy")
另一答案

您可以指定自己的日期格式:

=FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddMonths(-12), "MM-dd-yyyy") 
& " -  " &
FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddDays(-1), "MM-dd-yyyy")

以上是关于SSRS:以'mm-dd-yyyy'格式返回日期范围的表达式的主要内容,如果未能解决你的问题,请参考以下文章

用户在SSRS中没有所需权限

怎么用JS来实现一个日期型数值加上月份数得到另外一个日期型数值呢

使用查询作为输入参数创建动态SSRS报告

如何在SSRS中显示条形图的空组?

SSRS-报表生成器-行为列

如何在DOS批处理文件中获取mm-dd-yyyy?