Reporting services 参数缺少一个值
你能帮我解决这个问题吗 我创建了一个接收5个参数的报告 @站点-位置名称 @起始日期 @结束日期 @开始时间 @结束时间 一切似乎都很好,报告根据需要进行过滤。现在的问题是,我需要在另一个系统上发布同一个rdl文件,并且在发布后,当我运行它时,它会给我这个错误Reportviewer特定的报告错误:“StartTime”参数缺少一个值;0;Void ErrorSystem.String,System.Object[] 我不确定现在在哪里查看,因为我在本地运行报告时没有遇到错误。下面是我使用的代码:Reporting services 参数缺少一个值,reporting-services,Reporting Services,你能帮我解决这个问题吗 我创建了一个接收5个参数的报告 @站点-位置名称 @起始日期 @结束日期 @开始时间 @结束时间 一切似乎都很好,报告根据需要进行过滤。现在的问题是,我需要在另一个系统上发布同一个rdl文件,并且在发布后,当我运行它时,它会给我这个错误Reportviewer特定的报告错误:“StartTime”参数缺少一个值;0;Void ErrorSystem.String,System.Object[] 我不确定现在在哪里查看,因为我在本地运行报告时没有遇到错误。下面是我使用的代码
Parameters
@StartDate default = dateadd(dateinterval.Day, -1, Today)
@EndDate default = =dateadd(dateinterval.Day, -1, Today)
@SiteID SQL Dataset = SELECT 0 AS ID, 'All' as Name
FROM sites
UNION
SELECT ID, Name
FROM sites
@StartTime default = 12:00:00 AM
Available values (12:00:00 AM - 11:00:00 PM
@EndTime default = 11:00:00 M
Available values (12:00:00 AM - 11:00:00 PM
SQL Dataset
Declare @Start datetime = cast (@StartDate + ' '+ @StartTime as datetime)
Declare @End datetime = cast(@EndDate + ' ' + @EndTime as datetime )
SELECT Distinct ast.Name as HomeSite, ISNULL(c.FirstName + ' ', '') + c.LastName as Name, md.MemRefNo,att2.Name as VisitedSite,isnull(att2.TotalVisits,0) as TotalVisits, isnull(atc.totalaccepted,0) TotalAcceptedVisits, ISNULL(att.TotalOverrideVisits, 0) AS TotalOverrideVisits, isnull(att1.TotalOverrideDenieds,0) as TotalOverrideDenieds
FROM Contacts c
INNER JOIN MemberDetail md on md.ContactGUID = c.GUID
INNER JOIN Sites ast on c.HomeSiteID = ast.ID
OUTER APPLY
(
SELECT ast.Name,a1.contactguid,COUNT(*) totalaccepted
FROM Attendance a1
INNER JOIN Sites ast on a1.SiteID = ast.ID
WHERE a1.contactguid = c.GUID
AND (a1.IsSwipeSuccessful = 1)
AND a1.accessoverridereasonid IS NULL
AND a1.AttendDate BETWEEN @Start AND @End
AND (a1.SiteID = @SiteID OR @SiteID = 0)
group by a1.contactguid,ast.Name
)atc
OUTER APPLY
(
SELECT ast.Name,a2.contactguid,COUNT(*) TotalOverrideVisits
FROM Attendance a2
INNER JOIN Sites ast on a2.SiteID = ast.ID
WHERE a2.contactguid = c.GUID
AND a2.accessoverridereasonid IS NOT NULL
AND a2.AttendDate BETWEEN @Start AND @End
AND (a2.SiteID = @SiteID OR @SiteID = 0)
group by a2.contactguid,ast.Name
) att
Outer APPLY
(
SELECT ast.Name,a3.contactguid,COUNT(*) TotalOverrideDenieds
FROM Attendance a3
INNER JOIN Sites ast on a3.SiteID = ast.ID
WHERE a3.contactguid = c.GUID
AND a3.IsSwipeSuccessful = 0
AND a3.AttendDate BETWEEN @Start AND @End
AND (a3.SiteID = @SiteID OR @SiteID = 0)
group by a3.contactguid,ast.Name
) att1
Cross APPLY
(
SELECT ast.Name,a3.contactguid,COUNT(*) TotalVisits
FROM Attendance a3
INNER JOIN Sites ast on a3.SiteID = ast.ID
WHERE a3.contactguid = c.GUID
AND a3.AttendDate BETWEEN @Start AND @End
AND (a3.SiteID = @SiteID OR @SiteID = 0)
group by a3.contactguid,ast.Name
) att2
Order by name
尝试刷新所有共享和非共享的数据集
检查它们的属性,尤其是参数页面,并制作
当然他们是对的。
重新部署确保覆盖现有数据集
希望这有帮助
亨罗也许你正在经历?上面那一段应该是评论吗?如果您尝试执行它,它应该会生成语法错误。是的,上面的部分只是一个注释,供大家了解我的参数的外观。我不确定我是否遵循,刷新数据集是指重新创建数据集还是运行查询或刷新字段??刷新字段。只需双击数据集,点击“刷新字段”,然后检查选项卡中的参数。