Решить его в SQL
Если бы это был мой проект, я предпочел бы решить эту проблему в запросе SQL, который производит данные. Поскольку я не вижу ваш SQL-запрос, и в некоторых случаях возможно, что вы не можете изменить запрос, я предоставил свое хакерское пост-SQL-решение.
Hacky Решение
Для простоты я буду использовать DATA_SET_STRING
представлять код: RTRIM(LTRIM(Join(LookupSet(Fields!Fund_Family.Value & Fields!Portfolio_Company_Name.Value,Fields!Fund_Family.Value & Fields!Portfolio_Company_Name.Value,Fields!Security_Type.Value, "DataSet1")
Что-то, как это будет удалить пустые имена строк из списка: =REPLACE(DATA_SET_STRING,"/"), "/ /", "/").Remove(1,1)))
Пустая строка & Пустые места
Если вы хотите удалить имена пустых пространств (""), а также пустую строку (""), я бы сначала преобразовал имена пустого пространства, чтобы они отображались как пустая строка, а затем удаляли пустые строки. Вложение REPLACE
заявления могут сделать это:
=REPLACE(REPLACE(DATA_SET_STRING,"/"), " ", " "), "/ /", "/").Remove(1,1)))
Несколько заглушек в ряд
Самое большое ограничение на это (кроме как невероятно трудно читать и поддерживать) в том, что он будет удалять только конечное число пустых имен в строке. Например, если у вас есть три пустых имени в строке, ваша исходная функция DATA_SET_STRING
вернет «имя 1//// name 2». Мои дополнительные функции REPLACE
приведут к окончательной строке «name 1// name 2». Чтобы обрабатывать несколько пробелов подряд, вам нужно будет вложить больше REPLACE
.
Что-то вроде этого:
=REPLACE(REPLACE(REPLACE(DATA_SET_STRING,"/"), " ", " "), "/ /", "/"), "/ /", "/").Remove(1,1)))
Хотя вы можете решить конкретные сценарии с этим REPLACE
подход, он всегда будет уязвима для более пробелов подряд, чем вы ожидали.
Предупреждения
Опять же, я предпочел бы решить эту проблему, предоставляя запрос, который отфильтровывает пустые и пустые имена строк.Тем не менее, если вы собираетесь использовать Hacky подход (я знаю Hacky код может получить вас из варенья), вот слабые предоставленному решения:
- Трудно читать
- Трудно поддерживать
- уязвимые к изменениям данных (слишком много пустых строк подряда)
Помните код ответственно.