Поделиться через


Функция Previous (построитель отчетов и службы SSRS)

Возвращает значение или значение статистического выражения для предыдущего экземпляра элемента внутри заданной области.

Примечание

Создавать и изменять определения отчетов (RDL-файлы) в SQL Server Data Tools можно в построителе отчетов и конструкторе отчетов В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в статье Проектирование отчетов в конструктор отчетов и Report Builder (SSRS) в Интернете по адресу microsoft.com.

Синтаксис

  
Previous(expression, scope)  

Параметры

expression
(Variant или Binary) Выражение, используемое для идентификации данных, для которого необходимо получить предыдущее значение, например Fields!Fieldname.Value или Sum(Fields!Fieldname.Value).

область
(String) Необязательно. Имя группы или области данных или значение NULL (Nothing в Visual Basic), указывающее область, из которого извлекается предыдущее значение, указанное выражением.

Тип возвращаемых данных

Возвращает Variant или Binary.

Комментарии

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

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

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

Примечание

Функция Previous поддерживает только ссылки на поля в группе сведений. Например, для текстового поля в группе подробностей выражение =Previous(Fields!Quantity.Value) возвращает данные для поля Quantity из предыдущей строки. В первой строке это выражение возвращает значение NULL (Nothing в Visual Basic).

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

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

Функции Level, InScopeAggregate и Previous нельзя использовать в параметре expression. Параметр recursive для агрегатных функций не поддерживается.

Дополнительные сведения см. в статьях Функции построителя отчетов — справочник по агрегатным функциям в отчетах с разбивкой на страницы (построитель отчетов) и Область выражения для суммирования, статистических выражений и встроенных коллекций в отчете с разбивкой на страницы (построитель отчетов).

Примеры

Описание

Следующий пример кода, помещенный в строку данных по умолчанию для области данных, предоставляет значение для поля LineTotal в предыдущей строке.

Код

=Previous(Fields!LineTotal.Value)  

Описание

В следующем примере показано выражение, вычисляющее сумму продаж в указанный день месяца и предыдущее значение в тот же день месяца в прошлом году. Выражение добавляется в ячейку строки, относящуюся к дочерней группе GroupbyDay. Ее родительской группой является GroupbyMonth, которая имеет родительскую группу GroupbyYear. Выражение отображает результаты для группы GroupbyDay (область по умолчанию) и затем для группы GroupbyYear (родитель родительской группы GroupbyMonth).

Рассмотрим для примера область данных с родительской группой Yearи ее дочерней группой Month, у которой имеется дочерняя группа Day (три вложенных уровня). Выражение =Previous(Sum(Fields!Sales.Value,"Day"),"Year") в строке, связанной с группой Day , возвращает значение продаж в тот же день и в тот же месяц прошлого года.

Код

=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")  

См. также:

Использование выражений в отчетах (построитель отчетов и службы SSRS)
Примеры выражений (построитель отчетов и службы SSRS)
Типы данных в выражениях (построитель отчетов и службы SSRS)
Область выражения для итогов, агрегатных функций и встроенных коллекций (построитель отчетов и службы SSRS)