繁体   English   中英

SSRS 报告为 Join 表达式提供错误

[英]SSRS Report giving error for Join expression

我在我的 SSRS 报告中声明了一个多值参数。 该参数是一个日期,它有多个值,例如:

06/01/2021
05/01/2021
04/01/2021

现在,当我 select 日期为06/01/2021, 05/01/2021 2021、05/01/2021 时,表达式应显示为Reportname_以及前几个月的第一个和最后一个日期。 示例:如果我 select 日期为

06/01/2021
05/01/2021
04/01/2021

那么结果应该是

报告名称_05/01/2021-05/31/2021_04/01/2021-04/30/2021_03/01/2021-03/31/2021

我尝试加入但出现错误。 我使用的表达是

Join(dateadd(“m”,-1,dateserial(year(Parameters!date.Value(0)), month(Parameters!date.Value(0)), 1)) & 
"-" & 
dateadd(“m”,0,dateserial(year(Parameters!date.Value(0)), month(Parameters!date.Value(0)), 0)), "_")

您必须使用自定义代码来解析参数并创建字符串表达式

将以下自定义代码添加到您的报告中

Public Function ParseDate(ByVal parameter as Parameter) as String

Dim s as String 
Dim seperator as String 
Dim dt as Date

    For i as integer = 0 to parameter.Count-1
     dt = DateSerial(Year(parameter.Value(i)), Month(parameter.Value(i)), 1)
      s = s + seperator + Format(DateAdd("m",-1,dt),"MM/dd/yyyy") + "-" + Format(DateAdd("d",-1, dt),"MM/dd/yyyy") 
      seperator = "_"

    Next
 
   Return s
End Function

对于返回报告名称和日期值的文本框,请使用以下表达式

=Globals!ReportName & "_" & Code.ParseDate(Parameters!Date)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM