本文將介紹使用 BIDS 開發 SSRS 報表時,於現有的資料集中新增欄位,在預覽報表時可能發生【Value 運算式傳回無效的資料類型】的可能解決方案。
【情境描述】
當您利用 BIDS(SQL Server Business Intelligence Development Studio) 開發報表時,若在現有的資料集中利用修改查詢,再按重新整理欄位來新增資料集的欄位。
接著在報表主體中使用該新增的欄位時,可能發生如下的錯誤訊息:
[rsInvalidExpressionDataType] 在 textrun‘ResultTyp6.Paragraphs[0].TextRuns[0]’中使用的 Value 運算式傳回無效的資料類型。
【問題發生原因】
根據錯誤訊息看來,似乎是資料型態轉換的問題,明明應該是整數型態的欄位,卻因為被判斷為【Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.CalculatedFieldWrapperImpl】型態而導致轉型錯誤而無法順利顯示。
【解決方法】
筆者的解決方式是於【資料集屬性】視窗中點選【查詢設計工具】。
開啟【查詢設計工具】後直接點選驚嘆號來執行您的查詢。
確定查詢可以正確被執行後按確定來關閉查詢設計工具。
接著什麼都不用修改直接再次預覽報表,您就可以看到新增加的欄位已經可以正常顯示。
【結論】
以上提供筆者遇到這個資料類型錯誤的可能解決方案,當然您也可以嘗試刪除資料集再重新建立,若您有更好的做法歡迎一起來討論,謝謝。