我在SSRS 2014中有一份报告(在SharePoint 2013集成模式中,虽然我认为不重要)我有两份副本。一个副本在运行时运行以下查询,并按预期返回报告中的数据:
exec reports.sp_EvalQuestionsAndAnswers @EngagementCode=N'Engagement1',@LabIDs=NULL,@StartDate='2013-08-01 00:00:00',@EndDate='2014-12-18 00:00:00',@UTCoffset=-6
第二个副本在运行时运行以下查询,参数略有不同:
exec reports.sp_EvalQuestionsAndAnswers @EngagementCode=N'Engagement2',@LabIDs=NULL,@StartDate='2014-04-30 00:00:00',@EndDate='2014-12-19 00:00:00',@UTCoffset=-6
在Management Studio中运行这两个时,它们都会按预期返回数百行。但是,当第一个报告按预期返回数据时,第二个报告会从其中央选项卡显示其no rows returned
消息。
我知道查询就像我展示的一样,因为我可以在SQL事件探查器中看到它们。
我甚至删除了第二个报告,复制了第一个报告,并更改了参数值(这是我能看到的唯一变化,实际上这不是手动更改 - 它们来自报告中的某些逻辑,基于何处报告发布在SharePoint中,并且发生了相同的结果。所以我知道我没有在报表生成器中破坏报表,因为我没有在报表生成器中触及它。
我不相信SSRS shows no records in report but query returns results和Reporting Services - Multi-value parameter query returning no results都不符合我的情况,因为我没有任何多值参数。
我还应该注意什么?
答案 0 :(得分:3)
经过实质性调查后发现有两件事情发生了:
数据集的两个版本之间存在数据质量问题,在第二种情况下,由于缺少数据而在第一种情况下正确计算了sproc中的计算字段未正确计算。这需要很长时间才能解决,因为行返回并且在第一/第二/第三视图看起来有效。
报告tablix进行了过滤,有效地过滤掉了第二个数据集中的伪记录,导致了没有行"结果