Reporting services 参数缺少一个值

Reporting services 参数缺少一个值,reporting-services,Reporting Services,你能帮我解决这个问题吗 我创建了一个接收5个参数的报告 @站点-位置名称 @起始日期 @结束日期 @开始时间 @结束时间 一切似乎都很好,报告根据需要进行过滤。现在的问题是,我需要在另一个系统上发布同一个rdl文件,并且在发布后,当我运行它时,它会给我这个错误Reportviewer特定的报告错误:“StartTime”参数缺少一个值;0;Void ErrorSystem.String,System.Object[] 我不确定现在在哪里查看,因为我在本地运行报告时没有遇到错误。下面是我使用的代码

你能帮我解决这个问题吗

我创建了一个接收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
尝试刷新所有共享和非共享的数据集 检查它们的属性,尤其是参数页面,并制作 当然他们是对的。 重新部署确保覆盖现有数据集 希望这有帮助


亨罗

也许你正在经历?上面那一段应该是评论吗?如果您尝试执行它,它应该会生成语法错误。是的,上面的部分只是一个注释,供大家了解我的参数的外观。我不确定我是否遵循,刷新数据集是指重新创建数据集还是运行查询或刷新字段??刷新字段。只需双击数据集,点击“刷新字段”,然后检查选项卡中的参数。