【问题标题】:SSRS: field shows correct in query but wrong in report previewSSRS:字段在查询中显示正确,但在报告预览中显示错误
【发布时间】:2017-04-13 12:07:51
【问题描述】:

我有以下疑问:

SELECT TOP ( 10 )
        EMPLOYEE ,
        NAME ,
        SUM(QTYFINISHED) AS QTY ,
        SUM(HOURS) AS REALTIME ,
        SUM(PROCESSTIME * QTYFINISHED / PROCESSQTY / 60) AS CALCTIME ,
        SUM(PROCESSTIME * QTYFINISHED / PROCESSQTY / 60) / SUM(HOURS) AS EFFI
FROM    EMPLOYEE
GROUP BY EMPLOYEE ,
         NAME
ORDER BY Eficience DESC

当我在“查询设计”中执行它时,我有正确的值:

  Employee  Name     QTY     REALTIME    CALCTIME    EFFI
      2     Peter    10        10           5         0,5
      3     John     10        10           10         1
      4     Thomas   10        12           9         0,75
      ...

但是当我在报告中的表格中添加字段时,预览会使字段之间出现一些混乱:

  Employee  Name     QTY     REALTIME    CALCTIME    EFFI
      2     10        10           5          0,5    #Error
      3     10        10           10          1     #Error
      4     10        12           9          0,75   #Error
      ...

如果我从查询(当然还有报告)中删除“名称”字段,我会在查询设计和报告预览中获得正确的值。

注意:真正的查询包含一个 JOIN,并且字段是通过表命名空间引用的,但出于可读性原因,我将其放了出来,因为我不认为有任何区别。

【问题讨论】:

  • 嗯,显然这些字段向左移动了一位。我猜您需要更新 SSRS 数据集以反映查询的当前输出。
  • 我的错!删除了 .rdl.data 并且它正在工作。对不起这个愚蠢的问题:(请添加答案给你分数;)
  • 我发现如果你点击报表上的刷新图标,它会重新加载缓存的数据,省去你删除文件的麻烦。

标签: sql sql-server tsql reporting-services ssrs-2008-r2


【解决方案1】:

您必须删除项目文件夹中的文件名.rdl.data。这是 SSDT 的一项功能。删除 rdl.data 文件后,它将在下次查看预览时使用正确的查询创建一个新文件,并将删除#ERROR。

【讨论】:

  • 我相信它是作为一项功能而设计的。如果您有一个长时间运行的查询,那么能够一遍又一遍地预览报告而不必每次都运行查询是很方便的。不幸的是,在我了解它的工作原理之前,它并不直观,并且肯定会引起我的困惑。
  • 哦,我明白了,我会改变我的答案来反映这一点。
  • 我也遇到了同样的错误,我也得到了同样的修复。非常感谢!
【解决方案2】:

另一种可能的方法是创建一个外部工具,就像here 描述的那样:

  • 转到工具 > 外部工具...

  • 添加具有以下设置的新工具:

    • 标题:清除报表数据缓存
    • 命令:“%WinDir%\System32\cmd.exe”
    • 参数:/C DEL /S /Q "$(SolutionDir)*.rdl.data"
    • 检查选项
      • 使用输出窗口
      • 出口关闭

现在,只要您想删除报表数据缓存,只需转到工具 > 清除报表数据缓存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多