我打算假設從數據庫返回的數據是基於文本的(text,varchar或nvarchar),並且有一些不尋常的字符,這可能會導致這種情況。
在這種情況下,您可以使用UDF(如下所示)在報表運行時清理文本。 (調整此做任何你需要,刪除,如果你想保持回車和輸出換行符替換爲焦炭10和13)
CREATE FUNCTION [dbo].[udf_CleanText]
(
@dx text
)
RETURNS varchar(max)
AS
BEGIN
DECLARE @cdx varchar(max) = @dx
SELECT @cdx = REPLACE(@cdx, char(20), '')
SELECT @cdx = REPLACE(@cdx, char(21), '')
SELECT @cdx = REPLACE(@cdx, char(13), '')
SELECT @cdx = REPLACE(@cdx, char(10), '')
SELECT @cdx = REPLACE(@cdx, char(18), '')
SELECT @cdx = REPLACE(@cdx, char(17), '')
SELECT @cdx = REPLACE(@cdx, char(22), '')
RETURN @cdx
END
要利用這一點,把它添加到查詢報告。
SELECT dbo.udf_CleanText(TextField) AS TextFieldClean
FROM tblTable
如果這是在報告中的一些計算髮生到期,這樣返回NaN
,或Infinity
一個表達式,那麼你需要改變你的表情來處理。
將IIF
添加到混合中以檢查意外值可以幫助您。下面的一些例子:
SSRS Formula or expression to change NaN to 0
NaN and Infinity values in SSRS
謝謝!將嘗試這一點,讓你知道。 – Amelia
完美!這工作正常。 – Amelia