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


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

Область применения: Построитель отчетов (SSRS) Power BI конструктор отчетов построитель отчетов в SQL Server Data Tools

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

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

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

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

Примечание.

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

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

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

Функция Description
Avg Возвращает среднее значение всех числовых значений, отличных от NULL, заданных выражением, вычисляемым для данной области.
Численность Возвращает количество значений, отличных от 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

Набор данных
Переменные RenderFormat
Заголовок страницы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контекст RunningValue RowNumber First

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Function Description
Уровень Возвращает текущий уровень глубины в рекурсивной иерархии.

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