使用 BIDS 開發 SSRS 報表時,於現有的資料集中新增欄位,在預覽報表時可能發生【Value 運算式傳回無效的資料類型】

本文將介紹使用 BIDS 開發 SSRS 報表時,於現有的資料集中新增欄位,在預覽報表時可能發生【Value 運算式傳回無效的資料類型】的可能解決方案。

情境描述

當您利用 BIDS(SQL Server Business Intelligence Development Studio) 開發報表時,若在現有的資料集中利用修改查詢,再按重新整理欄位來新增資料集的欄位。

image

接著在報表主體中使用該新增的欄位時,可能發生如下的錯誤訊息:

[rsInvalidExpressionDataType] 在 textrun‘ResultTyp6.Paragraphs[0].TextRuns[0]’中使用的 Value 運算式傳回無效的資料類型。

image

問題發生原因

根據錯誤訊息看來,似乎是資料型態轉換的問題,明明應該是整數型態的欄位,卻因為被判斷為【Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.CalculatedFieldWrapperImpl】型態而導致轉型錯誤而無法順利顯示。

解決方法

筆者的解決方式是於【資料集屬性】視窗中點選【查詢設計工具】。

image

開啟【查詢設計工具】後直接點選驚嘆號來執行您的查詢。

image

確定查詢可以正確被執行後按確定來關閉查詢設計工具。

image

接著什麼都不用修改直接再次預覽報表,您就可以看到新增加的欄位已經可以正常顯示。

image

結論

以上提供筆者遇到這個資料類型錯誤的可能解決方案,當然您也可以嘗試刪除資料集再重新建立,若您有更好的做法歡迎一起來討論,謝謝。