SSRS参赛者没有返回单一结果

时间:2015-06-03 13:31:57

标签: sql reporting-services parameters parent-child

我目前有一个报告设置,它根据4个参数返回结果。这些参数是@StartDate,@ EndDate,@ EmployeeID和@SampleType,这些都是可以解释的。它还按样本类型分组,然后按日期分组。

报告看起来像这样(或多或少):

    Sample Type    Employee Name   Date   Time Spent on Sample
    A              Name1           4/6     7
                   Name1           4/6     8
                   Name2           4/6     15
    B              Name1           4/6     12
                   Name2           4/6     11 
                   Name2           4/6     13

(名称是计算字段,按employeeID分组) 如果要返回多行,报告将返回正确的结果,但如果只返回一行,则不显示任何内容。只有当只有一条记录要呈现时,它才会对特定的employeeID或特定的SampleType执行此操作。因此,使用上面的虚拟报告,如果@StartDate为4/6且@EndDate为4/6,则@EmployeeID为Name1,而@SampleType为B,预览将不显示单个结果。但是如果@EmployeeID是Name2,它将是两行。

有什么明显的理由让我忽略了当只有一行应该返回时阻止参数正常工作吗?

以下是查询的副本:

    SELECT        MasterSampleDescription, CollectedDateTime, LabArrivalDateTime, CreatedDateTime, TimeDiffCollectLab, TimeDiffLabCreate, TimeDiffCollectCreate, 
                     TimeDiffCollectStart, TimeDiffCollectEnd, TimeDiffSampleStartEnd, SampleStart, SampleEnd, FirstName, LastName, AVG(TimeDiffCollectEnd) AS AvgTimeDiffCollect, 
                     TimeDiffLabArrivalSampleEnd, TimeDiffCreationStart, UserID
    FROM            vwTimeAnalysis
    WHERE        (CollectedDateTime >= @StartDate) AND (CollectedDateTime < DATEADD(Day, 1, @EndDate))
    GROUP BY MasterSampleDescription, CollectedDateTime, LabArrivalDateTime, CreatedDateTime, TimeDiffCollectLab, TimeDiffLabCreate, TimeDiffCollectCreate, 
                     TimeDiffCollectStart, TimeDiffCollectEnd, TimeDiffSampleStartEnd, SampleStart, SampleEnd, FirstName, LastName, TimeDiffLabArrivalSampleEnd, 
                     TimeDiffCreationStart, UserID
    HAVING        (UserID = @EmployeeName) AND (MasterSampleDescription = @SampleType)
    ORDER BY CollectedDateTime, LastName, MasterSampleDescription

1 个答案:

答案 0 :(得分:0)

如果“预览”是指Visual Studio中的“预览”选项卡,那么我会忽略它。它往往不可靠/误导。部署您的报告并在用户运行报告时对其进行测试。