Новая строка в выражении ssrs - PullRequest
0 голосов
/ 04 октября 2018

У меня есть выражение, которое должно быть в одной строке.Но число прыгает в другую строку в текстовом поле.Что я могу сделать, чтобы сделать это в одну строку.Вывод дает

2018-06-26HP-HPP
4

Код:

=Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd")) & Trim(Fields!Register.Value) & Trim(DatePart(DateInterval.Hour,  Fields!GSTIME.Value)).ToString()

Ожидаемый ответ должен быть:

2018-06-26HP-HPP4

Спасибо

Майкл

1 Ответ

0 голосов
/ 04 октября 2018

Если это ваш ожидаемый результат

2018-06-26HP-HPP4

из

=Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd")) & Trim(Fields!Register.Value) & Trim(DatePart(DateInterval.Hour,  Fields!GSTIME.Value)).ToString()

но вы получаете это

2018-06-26HP-HPP
4

Итекстовое поле достаточно велико, чтобы показать это в одной строке, тогда я подозреваю, что у вас есть новый символ строки в поле Fields!Register.Value

, поскольку

первая часть ожидаемого результата (2018-06-26) происходит от

Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd"))

Вторая часть (HP-HPP) происходит от этого

Trim(Fields!Register.Value)

Заключительная часть (4) происходит от этого

Trim(DatePart(DateInterval.Hour, Fields!GSTIME.Value)).ToString()

Новая строка, которую вы видите в текстовом поле, находится между 2-й и 3-й частями, которые, я подозреваю, могут быть в содержании Trim(Fields!Register.Value)

Если это поле находится в таблице базы данных, то при выборе поиска в столбце и замене скрытых возвратов каретки, перевода строки и табуляции.

Вот один из способов

DECLARE @tmp TABLE (tmp NVARCHAR(50))
INSERT INTO @tmp (tmp)
SELECT 'Help' + CHAR(10) + 'me' + CHAR(9) + 'please' + CHAR(13)

DECLARE @val NVARCHAR(50) = (SELECT tmp FROM @tmp )
PRINT @val

вывод

Help
me  please

удаление скрытых символов

SET @val = (SELECT REPLACE(REPLACE(REPLACE(ISNULL(tmp,' '), CHAR(10), ' '), CHAR(13), ' '), CHAR(9), ' ') FROM @tmp )
PRINT @val

вывод

Help me please

...