Функции построителя отчетов — функция Previous в отчете с разбивкой на страницы (построитель отчетов)

Применимо: Microsoft построитель отчетов (SSRS) Power BI построитель отчетов конструктор отчетов в SQL Server Data Tools

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

Примечание.

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

Синтаксис

  
Previous(expression, scope)  

Параметры

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

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

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

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

Замечания

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

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

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

Примечание.

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

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

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

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

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

Примеры

Description

Следующий пример кода, помещенный в строку данных по умолчанию для области данных, предоставляет значение для поля 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)