2010-07-19 4 views
0

Я возвращаюсь в SQL набор данных в SSRS (Microsoft SQL Server служб Reporting) с одного до многих отношениях, как это:От одного до многих наборов данных SQL Могу ли я вернуть список с разделителями-запятыми в SSRS?

ID REV Event

6117 B FTG-06a
6117 B FTG-06a PMT
6117 B GTI-04b
6124 GBI-40
6124 ГТИ-04b
6124 GTD-04C
6136 М GBI-40
6141 С GBI-40

Я хотел бы, чтобы отобразить его в виде разделенных запятыми поля в последней колонке [Event] следующим образом:

ID REV Event
6117 B FTG-06A, FTG-06a PMT, GTI-04b
6124 GBI-40, GTI-04b, GTD-04C
6136 M GBI-40
6141 C GBI-40

есть ли способ сделать это на SSRS сторону вещей?

ответ

0

Вы хотите выполнить на стороне SQL не сторону SSRS, таким образом вы можете объединить эти результаты в хранимой процедуре, а затем отправить ее на уровень отчетности.

Помните, что базы данных предназначены для работы с данными. Отчет должен использоваться только для слоя презентации, поэтому вам не нужно утомлять себя попыткой получить функцию для анализа этих данных.

Лучше всего сделать это на уровне sproc и вытолкнуть данные из sproc в отчет.

На основе вашего редактирования это, как вы могли бы сделать это:

Для Concat полей посмотрите на COALESCE. После этого вы получите строку concat всех значений, которые вы указали. Вот пример:

use Northwind 

declare @CategoryList varchar(1000) 
select @CategoryList = coalesce(@CategoryList + ‘, ‘, ”) + CategoryName from Categories 

select ‘Results = ‘ + @CategoryList 

Теперь, потому что у вас есть дополнительное поле, а именно значение идентификатора, вы не можете просто добавить на значения в запросе, вам нужно будет использовать CURSOR с этим иначе вы получите печальную ошибку о включении дополнительных полей в вычисленный запрос.

Посмотрите here для получения дополнительной информации, убедитесь, что вы смотрите на комментарий внизу, специально размещенный на «Альберто», у него есть аналогичная проблема, как и вы, и вы должны понять это, используя свой комментарий.

+0

Затем, если у меня есть оператор выбора первого набора данных, как я могу заполнить последний столбец (EV_NAME) и сформировать набор данных событий, разделенных запятыми, и упорядочить по отдельному идентификатору ?: Выберите ID, REV, (Событие ???) как Event_List От tblAllEvents Сортировать по ID –

+0

@James Polhemus - см. Мое редактирование. – JonH

+0

Получил, спасибо Jon. Благодарю. Я не пытался переставить что-либо на dBase, но администратор баз данных дал мне свободное владение на представлениях и sprocs. Я настроил себя на чистый взгляд со стороны SQL, а затем сделал вызов Stuff/Group с XML-маршрутом со стороны SSRS и отфильтровал нежелательный XML ... –