SSRS:Arguement <arguement>无法转换为'Date'类型

时间:2016-12-14 14:50:42

标签: vb.net reporting-services ssrs-2008 expression

我正在尝试将以下SQL转换为SSRS中参数的默认表达式。

我希望得到作为参数传递的月份和年份的开始日期。

SET @startDate = DATEADD(mm, DATEDIFF(m, 0, CAST(CAST(@year AS varchar) + '-' + CAST(@startMonth AS varchar) + '-01' AS DATETIME)), 0);
SET @startDate = DATEADD(DAY, -DATEPART(WEEKDAY, @startDate) + 1, @startDate);
  

本地报告处理期间发生错误。 DefaultValue   报告参数'startDate'的表达式包含错误:   参数'Date1'无法转换为'Date'类型。

当前表达:

=DATEADD("d", -DATEPART("dw", DATEADD("m", DATEDIFF("m", 0, CDate(CStr(Parameters!startMonth.Value) + "/1/" + CStr(Parameters!year.Value))), 0)) + 1, DATEADD("m", DATEDIFF("m", 0, CDate(CStr(Parameters!startMonth.Value) + "/1/" + CStr(Parameters!year.Value))), 0))

参数的值:

@year ='2016'INT

@startMonth ='8'INT

我尝试了各种不同的方法来改变格式,但仍然遇到同样的错误。

0 个答案:

没有答案