Есть ли способ выбрать только первый комментарий, вменяемый для каждой записи?

#ssrs-2008 #comments #min #query-designer

Вопрос:

У меня есть набор данных, состоящий из CommentDateTime, кода комментария, Комментария и ключа комментария. На код комментария есть несколько комментариев, но я хочу, чтобы в моем отчете отображался только первый комментарий, созданный для каждого кода комментария.

Есть ли способ сделать это?

Я новичок в SSRS, поэтому прошу прощения, если я не очень хорошо объяснил свой вопрос.

Ответ №1:

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

Что-то вроде

 SELECT a.CommentDateTime, a.CommentCode, a.Comment, a.CommentKey   FROM (  SELECT   CommentDateTime, CommentCode, Comment, CommentKey,  ROW_NUMBER() OVER(PARTITION BY CommentCode ORDER BY CommentDateTime) as RowN  FROM @myTable  ) a   WHERE a.RowN = 1  

Это предполагает, что ключ комментария уникален для каждого комментария. ГДЕ а.Ряд = 1

Комментарии:

1. Это сработало идеально. Огромное спасибо. Если бы я хотел добавить это в существующий запрос в конструкторе запросов, сделал бы я это внутренним СОЕДИНЕНИЕМ?

2. Это зависит от того, чего вы хотите достичь, но вам нужно будет задать новый вопрос, чтобы получить на него ответ. Просто не забудьте включить ваши существующие запросы, примеры данных и ожидаемый результат, если вы это сделаете, кто-нибудь даст ответ довольно быстро.

3. Большое вам спасибо!