Функции построителя отчетов — справочник по агрегатным функциям в отчетах с разбивкой на страницы (построитель отчетов)

Применимо к: Microsoft Report Builder (SSRS) Power BI Report Builder конструктор отчетов в SQL Server Data Tools

Чтобы включить в отчет с разбивкой на страницы статистические значения, в выражениях можно использовать агрегатные функции. Агрегатная функция по умолчанию для числовых полей — функция SUM. Можно изменить выражение и использовать другую встроенную агрегатную функцию или указать другую область. Область определяет набор данных, используемый при вычислениях.

Поскольку в обработчике отчетов объединены данные и макет отчета, то выражения для всех элементов отчета вычисляются. При просмотре всех страниц отчета в элементах отчета, подготовленных к просмотру, отображаются результаты для всех выражений.

В следующей таблице перечислены категории встроенных функций, которые можно включать в выражение.

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

Примечание

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

Встроенные агрегатные функции

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

Компонент Описание
Avg Возвращает среднее значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.
Count Возвращает количество значений, отличных от NULL, определяемое выражением, вычисляемым в контексте данной области.
CountDistinct Возвращает количество уникальных значений, отличных от NULL, определяемое выражением, вычисляемым в контексте данной области.
Max Возвращает максимальное значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области. Можно использовать для задания максимального значения оси диаграммы при управлении масштабом.
Min Возвращает минимальное значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области. Можно использовать для задания минимального значения оси диаграммы при управлении масштабом.
StDev Возвращает стандартное отклонение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.
StDevP Возвращает стандартное отклонение совокупности всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области.
Sum Возвращает сумму всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.
Union Возвращает объединение всех значений пространственных данных типа SqlGeometry или SqlGeography , не равных NULL и указанных с помощью выражения, которое вычисляется в заданной области.
Var Возвращает дисперсию всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.
VarP Возвращает дисперсию совокупности всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Ограничения встроенных полей, коллекций и агрегатных функций

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

Местоположение в отчете Поля Параметры ReportItems PageNumber

TotalPages
DataSource

DataSet
Переменные RenderFormat
Заголовок страницы

Нижний колонтитул страницы
Да да Максимум одно

Примечание 1
Да Да Да да
Текст Да

Примечание 2
Да Только элементы в текущей или содержащей области

Примечание 3
Нет Да Да да
Параметр отчета Нет Только ранее упомянутые в списке параметры

Примечание 4
нет Нет Нет Нет Нет
Поле Да Да Нет Нет Нет Нет Нет
Параметр запроса Нет Да Нет Нет Нет Нет Нет
Выражение группы Да Да Нет Нет Да Нет Нет
Выражение сортировки Да Да Нет Нет Да да

Примечание 5
Нет
Критерий фильтра Да Да Нет Нет Да да

Примечание 6
Нет
Код нет Да

Примечание 7
нет Нет Нет Нет Нет
Report.Language нет Да Нет Нет Нет Нет Нет
Переменные Да Да Нет Нет Да Текущая или включающая область Нет
Статистические выражения Да да Только в верхнем или нижнем колонтитуле страницы Только в агрегатных функциях элементов отчета Да Нет Нет
Функции поиска Да Да Да Нет Да Нет Нет
  • Примечание 1. Элемент ReportItems должен существовать на странице отчета, подготовленной к просмотру, или их значение равно NULL. Если видимость элемента отчета зависит от выражения, принимающего значение False, то этот элемент отчета не существует на странице.

  • Примечание 2 . Если ссылка на поле используется в области группы и ссылка на поле не включена в выражение группы, то значение для поля считается неопределенным, за исключением случаев, когда в области имеется только одно значение. Чтобы указать значение используйте методы First и Last и область группы.

  • Примечание 3 . Выражения, включающие ссылку на элемент ReportItems, могут использоваться для указания значений для других элементов ReportItems в той же или включающей области группы.

  • Примечание 4 . Значения свойств для предыдущих параметров могут быть равны NULL.

  • Примечание 5 . Только при сортировке элементов. Нельзя использовать в выражениях сортировки области данных.

  • Примечание 6 . Только для фильтров элементов. Нельзя использовать в выражениях сортировки области данных или критериев фильтра наборов данных.

  • Примечание 7. Коллекция параметров не инициализируется до обработки блока кода, поэтому методы не могут быть использованы для управления параметрами при инициализации.

  • Примечание 8. Все агрегатные функции, за исключением Count и CountDistinct, должны иметь один тип данных, или все значения должны быть равны NULL.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Ограничения вложенных агрегатов

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

Контекст RunningValue RowNumber Первый

Последний
Previous Sum и другие функции предварительной сортировки Агрегаты ReportItem Функции поиска Агрегатная функция
Текущее значение нет Нет Нет Нет Да Нет Да Нет
Первый

Последний
нет Нет Нет Нет Да Нет Нет Нет
Previous Да Да Да Нет Да Нет Да Нет
Sum и другие функции предварительной сортировки нет Нет Нет Нет Да Нет Да Нет
Агрегаты ReportItem нет Нет Нет Нет Нет Нет Нет Нет
Функции поиска Да Да

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

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

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

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

Примечание 1
нет Нет
Агрегатная функция нет Нет Нет Нет Нет Нет Нет Нет
  • Примечание 1. Использование агрегатных функций разрешено только внутри выражения Source функции Lookup, если функция Lookup не содержится в агрегате. Использование агрегатных функций не разрешено внутри выражений Destination или Result функции поиска.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Вычисление текущих значений

Следующие встроенные функции вычисляют текущие значения для набора данных. ФункцияRowNumber подобна функции RunningValue тем, что возвращает текущее значение счетчика, которое увеличивается для каждой строки внутри содержащей области. В этих функциях параметр области должен задавать вмещающую область, которая управляет обнулением счетчика.

Компонент Описание
RowNumber Возвращает текущее количество строк в указанной области. Функция RowNumber начинает счет с 1, а не с 0.
RunningValue Возвращает текущий агрегат всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Получение числа строк

Следующая встроенная функция вычисляет количество строк в данной области. Используйте эту функцию для подсчета всех строк, включая строки, содержащие значение NULL.

Компонент Описание
CountRows Возвращает число строк в указанной области, включая строки со значениями NULL.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Уточняющий запрос значений из другого набора данных

Следующие функции поиска извлекают значения из указанного набора данных.

Компонент Описание
Функция Lookup Возвращает значение определенного выражения из набора данных.
Функция LookupSet Возвращает набор значений указанного выражения из набора данных.
Функция Multilookup Возвращает первые подходящие значения для набора имен из набора данных, содержащего пары «имя-значение».

Значок стрелки, используемый для ссылки возврата в началоВ начало

Получение основанных на сортировке значений

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

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

Значок стрелки, используемый для ссылки возврата в началоВ начало

Получение серверных агрегатов

Следующая встроенная функция получает пользовательские агрегаты из поставщика данных. Например, при использовании типа источника данных Analysis Services можно получать агрегаты, вычисляемые на сервере источника данных, и использовать их в заголовке группы.

Компонент Описание
Aggregate Возвращает пользовательские статистические данные заданного выражения в соответствии с определением поставщика данных.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Тестирование области

Следующая встроенная функция тестирует текущий контекст элемента отчета, чтобы увидеть, является ли он элементом определенной области.

Функция Описание
InScope Указывает, входит ли текущий экземпляр элемента в пределы указанной области действия.

Значок стрелки, используемый для ссылки возврата в началоВ начало

Получение уровня рекурсии

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

Функция Описание
Level Возвращает текущий уровень глубины в рекурсивной иерархии.

Значок стрелки, используемый для ссылки возврата в началоВ начало

См. также:

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