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


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

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

Синтаксис

                Previous(expression, scope)

Параметры

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

Возвращает 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")