Функция Aggregate (службы Reporting Services)
Возвращает результат нестандартной статистической обработки заданного выражения, как определено поставщиком данных.
Синтаксис
Aggregate(expression, scope)
Параметры
expression
Выражение, к которому применяется статистическая обработка. Это выражение должно быть простой ссылкой на поле.scope
(String) Имя набора данных, группы или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если аргумент scope не указан, используется текущая область. Дополнительные сведения о параметре scope см. в разделах Использование встроенных функций отчета и статистических функций в выражениях (службы Reporting Services) и Вычисление итогов и другие статистические вычисления (службы Reporting Services).
Тип возвращаемых данных
Тип возвращаемых данных определяется поставщиком данных. Возвращает Nothing, если поставщик данных не поддерживает эту функцию или данные недоступны.
Замечания
Функция Aggregate обеспечивает поддержку функций поставщика данных. Например, модуль обработки данных служб SQL ServerAnalysis Services использует поставщик данных, получающий плоские наборы строк из запроса MDX. Некоторые строки результирующего набора могут содержать статистические значения, вычисленные на сервере источника данных. Они известны как серверные статистические выражения. Чтобы просмотреть серверные статистические выражения в графическом конструкторе запросов служб Analysis Services, можно использовать кнопку Показать статистическое выражение на панели инструментов. Дополнительные сведения см. в разделе Пользовательский интерфейс конструктора запросов многомерных выражений служб Analysis Services.
При отображении сочетания значений статистического выражения и набора данных строк с подробными сведениями области данных табликса серверные статистические выражения обычно не отображаются, так как они не имеют подробных данных. Однако может потребоваться отображение всех значений, полученных для набора данных, и настройка способа вычисления и отображения статистических данных.
Службы Reporting Services определяют использование функции Aggregate в выражениях отчета, чтобы определить, отображать ли серверные статистические выражения в строках с подробными сведениями. При включении функции Aggregate в выражение области данных серверные статистические выражения появляются только в строках группы «Итог» и «Общий итог», но не в строках с подробными сведениями. Если требуется отобразить серверные статистические данные в строках с подробными сведениями, не следует использовать функцию Aggregate.
Можно изменить поведение по умолчанию путем изменения значения параметра Рассматривать подытоги как строки детализации в диалоговом окне Свойства набора данных. При установке этого параметра в значение True все данные, включая серверные статистические выражения, отображаются как подробные данные. При установке на значение False серверные статистические значения отображаются как итоги. Установка этого свойства затрагивает все области данных, связанные с этим набором данных.
Примечание |
---|
Все вмещающие группы элемента отчета, ссылающегося на функцию Aggregate, должны иметь простые ссылки на поля для своих выражений групп, например [FieldName]. Нельзя использовать функцию Aggregate в области данных, использующую сложные выражения групп. Для модуля обработки данных служб SQL ServerAnalysis Services запрос может включать поля многомерных выражений типа LevelProperty (не MemberProperty) для поддержки статистической обработки с помощью функции Aggregate. |
Сравнение функций Aggregate и Sum
Функция Aggregate отличается от числовых статистических функций, например Sum, тем, что функция Aggregate возвращает значение, вычисленное поставщиком данных или модулем обработки данных. Числовые статистические функции, например Sum, возвращают значение, вычисляемое обработчиком отчетов из набора данных, определенного параметром scope. Дополнительные сведения см. в списке статистических функций в разделе Использование встроенных функций отчета и статистических функций в выражениях (службы Reporting Services).
Пример
В приведенном ниже примере кода показано выражение, получающее серверное статистическое выражение для поля LineTotal. Выражение добавляется в ячейку строки, принадлежащей группе GroupbyOrder.
=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")