簡體   English   中英

SSRS:字段在查詢中顯示正確但在報告預覽中顯示錯誤

[英]SSRS: field shows correct in query but wrong in report preview

我有以下查詢:

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,並且字段是用表命名空間引用的,但我認為它是出於可讀性的原因,因為我不相信有任何區別。

您必須刪除項目文件夾中的filename.rdl.data。 這是SSDT的一項功能。 刪除rdl.data文件后,它將在下一個查看預覽中使用正確的查詢創建一個新文件,它將刪除#ERROR。

另一種可能使未來更容易的方法是創建一個外部工具,就像這里描述的那樣:

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

  • 使用以下設置添加新工具:

    • 標題 :清除報告數據緩存
    • 命令 :“%WinDir%\\ System32 \\ cmd.exe”
    • 參數 :/ C DEL / S / Q“$(SolutionDir)*。rdl.data”
    • 檢查選項
      • 使用輸出窗口
      • 退出時關閉

外部工具

現在,只要您想刪除報表數據緩存,只需轉到“工具”>“清除報表數據緩存”即可。

如何訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM