Получите 2-е значение в наборе данных в службах Reporting Services - PullRequest
6 голосов
/ 04 января 2011

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

В этом отчете предположим, что у меня есть 2 набора данных.В Dataset1 у меня есть запрос, который опускает 3 значения для выбора раскрывающегося списка параметров.В Dataset2 я возвращаю набор результатов и привязываю его к своей матрице.

Внутри матрицы у меня есть повторяющиеся столбцы, а затем 3 дополнительных сгруппированных столбца справа, которые имеют агрегированные значения, которые я хочу отобразить.В заголовке этих 3 столбцов я хочу отобразить 3 значения, отображаемые в моем наборе данных параметров.В контексте матрицы (и ее набора данных) я могу получить первое и последнее значения другого набора данных (в данном случае Dataset1), используя:

=First(Fields!DateDisplay.Value, "Dataset1")
=Last(Fields!DateDisplay.Value, "Dataset1")

Мне нужно получить что-то вроде:1008 *

=Second(Fields!DateDisplay.Value, "Dataset1")

Как мне это сделать, не нарушая правила области видимости для агрегированных столбцов?

Ответы [ 2 ]

4 голосов
/ 11 марта 2013

Для SSRS 2008 R2 вы можете сделать это, если каждая строка вашего набора данных имеет столбец идентификатора с помощью функции LookUp () .

=LookUp(1,Fields!Row.Value,Fields!DateDisplay.Value,”Dataset1”)
=LookUp(2,Fields!Row.Value,Fields!DateDisplay.Value,”Dataset1”)
=LookUp(3,Fields!Row.Value,Fields!DateDisplay.Value,”Dataset1”)

Если у вас нет столбца идентификатора, вы можете использовать ROW_NUMBER () для его создания.

Запрос:

SELECT ROW_NUMBER() OVER(ORDER BY DateDisplay) AS Row, DateDisplay
FROM Dates

Результаты:

Row DateDisplay
--- ---------
1   June 1st    
2   March 12th      
3   November 15th

Вот ссылка на похожую тему в форумах MSDN: Элемент N-й строки в наборе данных SSRS

0 голосов
/ 03 октября 2016

Если вы используете SSRS-2012 или 2014, тогда нужно использовать приведенное ниже выражение.

=LookUp(AnyRowNumber, Fields!RowNumber.Value,Fields!DisplayField.Value,”DatasetName”)

Я пробовал выше, это не работает в моем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...