Справочник по агрегатным функциям (построитель отчетов и службы SSRS)
Чтобы включить в отчет статистические значения, в выражениях можно использовать агрегатные функции. Агрегатная функция по умолчанию для числовых полей — функция SUM. Можно изменить выражение и использовать другую встроенную агрегатную функцию или указать другую область. Область определяет набор данных, используемый при вычислениях.
Поскольку в обработчике отчетов объединены данные и макет отчета, то выражения для всех элементов отчета вычисляются. При просмотре всех страниц отчета в элементах отчета, подготовленных к просмотру, отображаются результаты для всех выражений.
В следующей таблице перечислены категории встроенных функций, которые можно включать в выражение.
Встроенные агрегатные функции
Ограничения встроенных полей, коллекций и агрегатных функций
Ограничения вложенных агрегатов
Вычисление текущих значений
Получение числа строк
Уточняющий запрос значений из другого набора данных
Получение основанных на сортировке значений
Получение серверных агрегатов
Получение уровня рекурсии
Тестирование области
Чтобы определить допустимые области для функции, см. раздел справки по конкретной функции. Дополнительные сведения и примеры см. в разделе Область выражения для итогов, агрегатных функций и встроенных коллекций (построитель отчетов и службы SSRS).
Примечание |
---|
В построителе отчетов или конструкторе отчетов SQL Server Data Tools можно создавать и изменять определения отчета (RDL). В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в разделе Разработка отчетов в построителе отчетов и конструкторе отчетов (SSRS) на веб-сайте microsoft.com. |
Встроенные агрегатные функции
Для вычисления сводных значений для набора ненулевых числовых данных в области по умолчанию или именованной области используются следующие встроенные функции.
Функция |
Описание |
---|---|
Возвращает среднее значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области. |
|
Возвращает количество значений, отличных от NULL, определяемое выражением, вычисляемым в контексте данной области. |
|
Возвращает количество уникальных значений, отличных от NULL, определяемое выражением, вычисляемым в контексте данной области. |
|
Возвращает максимальное значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области. Можно использовать для задания максимального значения оси диаграммы при управлении масштабом. |
|
Возвращает минимальное значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области. Можно использовать для задания минимального значения оси диаграммы при управлении масштабом. |
|
Возвращает стандартное отклонение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области. |
|
Возвращает стандартное отклонение совокупности всех числовых значений, отличных от NULL, заданных выражением, вычисляемым в контексте данной области. |
|
Возвращает сумму всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области. |
|
Возвращает объединение всех значений пространственных данных типа SqlGeometry или SqlGeography, не равных NULL и указанных с помощью выражения, которое вычисляется в заданной области. |
|
Возвращает дисперсию всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области. |
|
Возвращает дисперсию совокупности всех числовых значений, отличных от 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.
В начало
Ограничения вложенных агрегатов
В следующей таблице описываются ограничения, которые используются агрегатными функциями для указания других агрегатных функций как вложенных агрегатов.
Контекст |
Текущее значение |
RowNumber |
First Последняя дата |
Previous |
Sum и другие функции предварительной сортировки |
Агрегаты ReportItem |
Функции поиска |
Агрегатная функция |
---|---|---|---|---|---|---|---|---|
Текущее значение |
Нет |
Нет |
Нет |
Нет |
Да |
Нет |
Да |
Нет |
Первая Последняя дата |
Нет |
Нет |
Нет |
Нет |
Да |
Нет |
Нет |
Нет |
Previous |
Да |
Да |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Sum и другие функции предварительной сортировки |
Нет |
Нет |
Нет |
Нет |
Да |
Нет |
Да |
Нет |
Агрегаты ReportItem |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Функции поиска |
Да |
Да Примечание 1 |
Да Примечание 1 |
Да Примечание 1 |
Да Примечание 1 |
Да Примечание 1 |
Нет |
Нет |
Агрегатная функция |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
- Примечание 1. Использование агрегатных функций разрешено только внутри выражения Source функции поиска, если функция поиска не содержится в агрегате. Использование агрегатных функций не разрешено внутри выражений Destination или Result функции поиска.
В начало
Вычисление текущих значений
Следующие встроенные функции вычисляют текущие значения для набора данных. Функция RowNumber подобна функции RunningValue тем, что возвращает текущее значение счетчика, которое увеличивается для каждой строки внутри содержащей области. В этих функциях параметр области должен задавать вмещающую область, которая управляет обнулением счетчика.
Функция |
Описание |
---|---|
Возвращает текущее количество строк в указанной области. Функция RowNumber начинает счет с 1, а не с 0. |
|
Возвращает текущий агрегат всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области. |
В начало
Получение числа строк
Следующая встроенная функция вычисляет количество строк в данной области. Используйте эту функцию для подсчета всех строк, включая строки, содержащие значение NULL.
Функция |
Описание |
---|---|
Возвращает число строк в указанной области, включая строки со значениями NULL. |
В начало
Уточняющий запрос значений из другого набора данных
Следующие функции поиска извлекают значения из указанного набора данных.
Функция |
Описание |
---|---|
Возвращает значение определенного выражения из набора данных. |
|
Возвращает набор значений указанного выражения из набора данных. |
|
Возвращает первые подходящие значения для набора имен из набора данных, содержащего пары «имя-значение». |
В начало
Получение основанных на сортировке значений
Следующие встроенные функции возвращают первое, последнее или предыдущее значения внутри заданной области. Эти функции зависят от порядка сортировки значений данных. С помощью этих функций можно, например, найти последнее и первое значения на странице, чтобы создать заголовок в стиле словаря. Используйте функцию Previous, чтобы сравнить значение в одной строке со значением в предыдущей строке конкретной области, например чтобы найти значение годового процента в таблице.
Функция |
Описание |
---|---|
Возвращает первое значение указанного выражения для заданной области. |
|
Возвращает последнее значение указанного выражения для заданной области. |
|
Возвращает значение или значение статистического выражения для предыдущего экземпляра элемента внутри заданной области. |
В начало
Получение серверных агрегатов
Следующая встроенная функция получает пользовательские агрегаты из поставщика данных. Например, при использовании источника данных типа служб Analysis Services можно получить агрегаты, вычисляемые на сервере источника данных и используемые в заголовке группы.
Функция |
Описание |
---|---|
Возвращает пользовательские статистические данные заданного выражения в соответствии с определением поставщика данных. |
В начало
Тестирование области
Следующая встроенная функция тестирует текущий контекст элемента отчета, чтобы увидеть, является ли он элементом определенной области.
Функция |
Описание |
---|---|
Указывает, входит ли текущий экземпляр элемента в пределы указанной области действия. |
В начало
Получение уровня рекурсии
Следующая встроенная функция получает текущий уровень при обработке рекурсивной иерархии. Чтобы управлять уровнем отступа визуальной иерархии для рекурсивной группы, используйте результат этой функции вместе со свойством Padding в текстовом поле. Дополнительные сведения см. в разделе Создание групп рекурсивной иерархии (построитель отчетов и службы SSRS).
Функция |
Описание |
---|---|
Возвращает текущий уровень глубины в рекурсивной иерархии. |
В начало
См. также
Справочник
Примеры выражений (построитель отчетов и службы SSRS)
Основные понятия
Использование выражений в отчетах (построитель отчетов и службы SSRS)