我有一个报告运行我想要的数据 - 从预览选项卡,或者在VS 2010中使用F5运行。但是当我将报告(.rdl文件)上传到SQL Server Reporting Services时,从那里运行更新的报告,它仍然显示旧的(受限制的)数据。
我错过了一个步骤 - 除了从项目上传.rdl文件之外还需要做些什么吗?它确实告诉我DataSource是错误的,但是一旦我指定了正确的数据源,它就会毫无障碍地运行(除了丢失的数据)。
我确保更新的报告确实被SQL Server Reporting Services用于添加标签的虚假添加,当然,我确实看到当我运行报告时,更新的报告是到达那里。
我还验证了设计时和运行时报告(相同的文件,但复制到不同的位置)使用相同的数据源:项目中的SharedDataSource引用,我在选择View>时看到报告数据>数据源使用相同在SQL Server Reporting Services中,我通过选择报告名称上的黄色右下箭头来设置数据源,然后“管理”> “数据源”> “共享数据源”>浏览>主页>数据源>并选择与项目中显示的名称相同的共享数据源。最后,我选择了OK>在SQL Server Reporting Services中应用,但只生成一部分数据。
为什么会这样?我该怎么做才能检索所有数据?
为了澄清会发生什么,回答yelxe的评论:
当我在SSRS中删除以前版本的报告并上传“新”报告(.rdl文件 - 刚刚删除的报告的新版本),然后单击报告链接尝试运行它时,我得到,“报表服务器无法处理报表或共享数据集。报表服务器或SharePoint站点的共享数据源'CPSData'无效。浏览到服务器或站点并选择共享数据源。(rsInvalidDataSourceReference)”
所以我点击报告右侧的黄色向下箭头,然后选择管理。
从那里,我选择数据源&gt; <共享数据源>浏览&gt;主页/数据源/ CPSData(“CPSData”与项目中选择的共享数据源相同)&gt;好的&gt;单击“应用”,然后运行报告。
这就是我这样做的地方:
它运行,但返回到报告的数据是我从IDE(VS 2010)运行时获得的数据的一部分。
对于 的数据,当报告从SSRS运行时,它是相同的 - IOW,超集和数据子集共有的行是相同的;只是子集中缺少许多行。对超集中存在的数据似乎没有任何“奇怪” - 它不是0或负数或任何特殊或引人注目的。
要更详细地回复Eric的评论,报告的“订阅”,“缓存刷新选项”和“报告历史记录”页面显示“此视图中没有要显示的项目。有关详细信息,请单击”帮助“。这个页面。“
报告的处理选项页面显示
...并且报告的“快照选项”页面显示
我注意到我的数据源名称与我的主数据集名称相同(它们都是“CPSData”)。数据集名称只是一个标签(它可以命名为“duckbilledplatypus”或其他什么),但我仍然想知道数据集的这个令人困惑/误导的名称是否有问题。因此,我将数据集的名称更改为更合理的名称(我将其重命名为“VPM_V_RockBottom”,因为存储过程名为“sp_ViewPriceMatrix_Variance_RockBottom”)。
但是,这没有任何区别。我在SSRS中替换了新版本的报告(.rdl文件),重新运行了报告,仍然(不)看到丢失的数据。使用相同的参数(日期范围和单位名称),这是我从项目的预览选项卡中运行时看到的:
......这是在SSRS中运行的时候:
所以“Hass”* Avocados在从VS 2010(应该是)运行时显示18个成员,而从SSRS运行时只有3个。在这两个案例中,“Asparagus Standard 11/1#”显示了18名成员,他们应该这样做。
为什么会出现差异,我该如何纠正这种异常?