sql - SSRS : field shows correct in query but wrong in report preview

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

我有以下查询:

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 并且字段是通过表 namespace 引用的,但出于可读性原因我将其放出,因为我不认为有任何区别。

最佳答案

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

关于sql - SSRS : field shows correct in query but wrong in report preview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866836/

相关文章:

mysql - 查询返回空结果但数据存在

MYSQL 查询 : get the latest date with grouped by data

sql-server - 为什么在SQL中使用 "not null primary key"?

tsql - 如何确定数字为偶数?

sql - 确定哪个应用程序正在更改 sql 数据库值

LINQ 的 SQL 命令(旋转)

sql - 在 T-Sql 中查找特定日期为 "closest"的星期五

sql-server - 需要帮助编写复杂的 sql 查询

sql - 在SQL Server中,像 "use <<DatabaseName>>",如何对 "use <<ServerName>>"查询命令

sql - 通过 report_id 获取 top 'n' 记录