SSRS报告结果不一致

时间:2016-07-12 08:45:54

标签: sql sql-server visual-studio-2012 reporting-services ssms

我似乎遇到了从SSRS获得一致答案的问题。我会解释一下情况。

  • 我的数据库中有一个表格,我们将其称为"销售"这里。在Sales中,我有一个名为Performance的列,它在所有23个输出行中保持一致(今天的值为0.80)。
  • 我在带有SSDT的visual studio 2012中有一个项目。在这个项目中有20个报告,他们都做了一些不同的事情,但有一个共同点:左侧的表格有性能数字。
  • 此性能表与报告的其余部分完全不同。它只是引用一个名为" Perf"的数据集,其中包含查询" Select * From Sales"。我感兴趣的表格中的字段具有函数=First(Fields!Performance.Value, "Perf")。我选择了这个函数,因为每行对于Performance都有相同的值,所以应该没有区别。
  • 当我将不同的报告与彼此进行比较时,一些报告会给出0.80的正确答案,但是有些报告的回答为0.78。这怎么可能?

在运行报告之前,我使用以下命令来删除缓存:

DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS

我错过了什么?难道我做错了什么?软件方面我使用SQL Server Management Studio 2012和Visual Studio 2012.将在需要时提供更多信息

1 个答案:

答案 0 :(得分:0)

听起来好像是使用缓存结果的SSRS报告预览。如果您正在预览报表而不更改特定数据集的任何参数,它将只使用数据集的缓存副本。

在预览模式下,您可以点击“刷新”按钮,我相信会删除缓存并重新查询数据集。或者,您可以手动删除缓存的文件。它们与RDL文件位于同一文件夹中。

例如,如果您的报告被调用

MyReport.rdl

您还可以找到此文件(前提是您已至少预览过一次报告)

MyReport.rdl.data

删除.data文件并重新运行报告。它将从源中获取新数据集。