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


Функция Previous (службы Reporting Services)

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

Синтаксис

                Previous(expression, scope)

Параметры

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

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

Замечания

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

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

В группах, не являющихся группами подробных сведений, следует использовать Previous со статистической функцией, например First или Last, содержащей конкретный экземпляр группы. Например, в текстовом поле в группе строк на основе =Fields!Year.Value=Previous(First(Fields!Year.Value)) возвращает год для первого экземпляра группы «Year».

Функции 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")

Журнал изменений

Обновленное содержимое

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