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

时间:2019-02-04 23:49:01

标签: reporting-services

我正在尝试在报告中创建一个 Variable ,该变量返回日期范围如下所示的字符串: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的字符串

3 个答案:

答案 0 :(得分:0)

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

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

所以您的字符串应该是

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如何?

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