Функция Previous (построитель отчетов 2.0)
Возвращает значение указанного статистического выражения для предыдущего экземпляра элемента в указанной области.
Синтаксис
Previous(expression, scope)
Параметры
expression
(Variant или Binary) Выражение, используемое для идентификации данных, для которого необходимо получить предыдущее значение, например Fields!Fieldname.Value или Sum(Fields!Fieldname.Value).scope
(String) Необязательно. Имя группы или область данных либо значение NULL (Nothing в Visual Basic), указывающее область, из которой необходимо получить предыдущее значение, заданное выражением expression. Дополнительные сведения о параметре scope см. в разделе Использование встроенных функций отчета и статистических функций в выражениях (построитель отчетов 2.0).
Тип возвращаемых данных
Возвращает Variant или Binary.
Замечания
Функция Previous возвращает предыдущее значение для выражения, которое вычисляется в указанной области после применения всех операций сортировки и фильтрации.
Если параметр expression не содержит статистической функции, функция Previous по умолчанию относится к текущей области элемента отчета. Для текстового поля в группе сведений выражение =Previous(Fields!Quantity.Value) возвращает данные для поля Quantity из предыдущей строки. Это выражение в первой строке возвращает значение NULL (Nothing в Visual Basic).
Если параметр expression содержит статистическую функцию, использующую область по умолчанию, функция Previous выполняет статистическую обработку данных в пределах предыдущего экземпляра области, указанной в вызове статистической функции.
Если параметр expression содержит статистическую функцию, задающую область, отличную от области по умолчанию, параметр scope для функции Previous должен включать область для области, указанной в вызове статистической функции.
Функции Level, InScope, Aggregate и 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")