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


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

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

ПримечаниеПримечание

В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов 3.0 (SSRS) на веб-сайте microsoft.com.

Синтаксис

Avg(expression, scope, recursive)

Параметры

  • expression
    (Float) Выражение для выполнения статистической обработки.

  • scope
    (String) Необязательный. Имя набора данных, группы или области данных, содержащих элементы отчета, к которым применяется агрегатная функция. Если аргумент scope не задан, используется текущая область.

  • recursive
    (Перечислимый тип) Необязательный. Simple (по умолчанию) или RdlRecursive. Указывает, нужно ли выполнять статистическую обработку рекурсивно.

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

Возвращает значение типа Decimal для десятичных выражений и Double — для всех остальных выражений.

Замечания

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

Значение scope должно быть строковой константой и не может быть выражением. Для внешних агрегатов и агрегатов, в которых не задаются другие агрегаты, параметр scope должен ссылаться не текущую область или включающую область. Для агрегатов, содержащих агрегаты, во вложенных агрегатах может указываться дочерняя область.

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

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

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

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

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

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

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

Пример

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

=Avg(Fields!Cost.Value, "Inventory") 
  OR  
=Avg (CDbl(Fields!Cost.Value), "Inventory")