2016-05-27 3 views
0

У меня есть одна таблица, как показано на нижеКак разделить данные одного столбца на несколько столбцов в отчетах ssrs?

EmpId Название 1 Ram, шейкер, Сарат 2 Раджу, Рави

enter image description here

мне нужен выход, как

EmpId Название Имя 1 Ram Shaker, Sarath 2 Raju Ravi

+0

Вместо того, чтобы делать из отчета SSRS, почему бы вам не сделать SQL-запрос, как ожидаемый результат? – pedram

ответ

0

Согласен с комментарием от @ped баран, но если вы идете по пути доклада, я бы с помощью функции InStr с функцией левого

поэтому у вас есть что-то вроде следующей функции в колонке/ячейку таблицы

=Left(Name, InStr(Name, ",")) 

Функция InStr находит первый экземпляр запятой, а отчеты - это позиция влево.

Теперь это предполагает, что запятая является разделителем.

1

Для первого столбца, вы можете использовать функцию Split и взять первый элемент:

=IIf(
    Split(Fields!myColumn.Value, ",").Length > 1, 
    Split(Fields!myColumn.Value, ",").GetValue(0), 
    Fields!myColumn.Value 
) 

Для второго столбца, вы можете использовать правую функцию, чтобы захватить оставшиеся символы:

=IIf(
    Split(Fields!myColumn.Value, ",").Length > 1, 
    Right(
    Fields!myColumn.Value, 
    LEN(Fields!myColumn.Value) - LEN(Split(Fields!myColumn.Value, ",").GetValue(0)) - 1 
), 
    "" 
) 

Функция LEN() предназначена для BIDS. Вместо этого используйте LENGTH(), если вы находитесь в построителе отчетов.

+0

Спасибо всем: в случае, если у меня около 20 имен, разделенных запятой относительно EmpID = 10 Мне нужно 10 имен в одной колонке и еще 10 в другой колонке , как это возможно –

Смежные вопросы