我打算假设从数据库返回的数据是基于文本的(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