Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы включить в отчет статистические значения, в выражениях можно использовать агрегатные функции. Агрегатная функция по умолчанию для числовых полей — функция SUM. Можно изменить выражение и использовать другую встроенную агрегатную функцию или указать другую область. Область определяет набор данных, используемый при вычислениях.
Поскольку в обработчике отчетов объединены данные и макет отчета, то выражения для всех элементов отчета вычисляются. При просмотре всех страниц отчета в элементах отчета, подготовленных к просмотру, отображаются результаты для всех выражений.
В следующей таблице перечислены категории встроенных функций, которые можно включать в выражение.
Чтобы определить допустимые области для функции, см. раздел справки по конкретной функции. Дополнительные сведения и примеры см. в статье Область выражения для суммирования, статистических выражений и встроенных коллекций в отчете с разбивкой на страницы (построитель отчетов).
Примечание
Создавать и изменять определения отчетов (RDL-файлы) в SQL Server Data Tools можно в построителе отчетов и конструкторе отчетов В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в статье Проектирование отчетов в конструктор отчетов и Report Builder (SSRS) в Интернете по адресу microsoft.com.
Встроенные агрегатные функции
Для вычисления сводных значений для набора ненулевых числовых данных в области по умолчанию или именованной области используются следующие встроенные функции.
Компонент | Описание |
---|---|
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)