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


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

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

Примечание

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

Синтаксис

  
RunningValue(expression, function, scope)  

Параметры

expression
Выражение, к которому применяется статистическая обработка, например [Quantity].

function
(Enum) Имя агрегата функции для применения к выражению, например, Sum. Этой функцией не может быть RunningValue, RowNumber или Aggregate.

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

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

Определяется агрегатной функцией, указанной параметром function .

Remarks

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

Функция RunningValue не может быть использована в выражении фильтра или сортировки.

Набор данных, для которого вычислено текущее значение, должен иметь такой же тип данных. Чтобы преобразовать данные, имеющие разные числовые типы, к одному и тому же типу, используйте функции преобразования, такие как CInt, CDbl или CDec. Дополнительные сведения см. в разделе Функции преобразования типов.

ЗначениемScope не может быть выражение.

Expression может содержать вызовы вложенных агрегатных функций со следующими условиями и исключениями.

  • Область для вложенных агрегатов должна совпадать с областью внешнего агрегата или входить в нее. Одна область из всех уникальных областей в выражении должна быть дочерней относительно всех других областей.

  • Область для вложенных агрегатов не может быть именем набора данных.

  • Выражение не должно содержать Firstфункции , Last, Previous, или RunningValue .

  • Expression не может содержать вложенные агрегаты, в которых указан параметр recursive.

Для вычисления текущего значения числа строк используйте функцию RowNumber. Дополнительные сведения см. в разделе Функция RowNumber (построитель отчетов и службы SSRS).

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

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

Примеры

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

=RunningValue(Fields!Cost.Value, Sum, Nothing)  

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

=RunningValue(Fields!Score.Value,sum,"DataSet1")  

Следующий пример кода выдает сумму с накоплением поля с названием Traffic Charges во внешней области видимости.

=RunningValue(Fields!Traffic Charges.Value, Sum, Nothing)  

См. также:

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