Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АИУС / Практика / DataRate. Руководство пользователя.pdf
Скачиваний:
98
Добавлен:
18.05.2015
Размер:
12.53 Mб
Скачать

11.3.5.7 Функции агрегирования

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

Функция

Описание

 

 

Avg

Возвращает среднюю величину всех значений указанного

 

выражения, не являющихся значениями NULL.

Count

Возвращает число значений указанного выражения, отличных от

 

NULL.

CountDistinct

Возвращает число различных значений указанного выражения,

 

отличных от NULL.

CountRows

Возвращает количество строк в указанной области.

 

 

First

Возвращает первое значение указанного выражения.

 

 

Last

Возвращает последнее значение указанного выражения.

 

 

Max

Возвращает максимальное значение для всех отличных от NULL

 

значений указанного выражения.

Min

Возвращает минимальное значение для всех отличных от NULL

 

значений указанного выражения.

RowNumber

Возвращает текущее количество строк в указанной области.

 

 

RunningValue

Использует задаваемую функцию, чтобы возвратить текущее

 

статистическое значение для указанного выражения.

StDev

Возвращает среднеквадратичное отклонение всех отличных от

 

NULL значений заданного выражения.

StDevP

Возвращает среднеквадратичное отклонение для совокупности

 

всех отличных от NULL значений указанного выражения.

Sum

Возвращает сумму значений указанного выражения.

 

 

Var

Возвращает дисперсию всех значений указанного выражения,

 

отличных от NULL.

VarP

Возвращает для указанного выражения дисперсию совокупности

 

всех значений, отличных от NULL.

Область действия

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

Для выражений за пределами областей данных параметр Scope ссылается на набор данных. Если отчет содержит больше одного набора данных, то параметр Scope

обязателен. Если отчет содержит лишь один набор данных и параметр Scope пропущен, то областью действия устанавливается этот набор данных. Нельзя указывать ключевое слово Nothing для элементов отчета за пределами области данных.

Модуль отчетов 477

Нельзя использовать параметр Scope в колонтитулах страницы.

11.3.5.7.1 Функция Avg

Возвращает среднее значение для всех значений указанного выражения, отличных от NULL.

Синтаксис

Avg(Expression, Scope)

Параметры

Expression

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

Scope

(String) Имя набора данных, группирования или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если указан аргумент Scope, статистическая функция применяется ко всем данным в наборе данных, группировании или области данных. Дополнительные сведения о параметре Scope см. в разделе Использование функций в выражениях.

Тип возвращаемых данных

Возвращает значение типа Decimal для десятичных выражений и Double для всех остальных выражений.

Замечания

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

Значением Scope не может быть выражением.

Пример

Следующий пример предоставляет среднее значение в области «Стоимость», содержащейся в наружной области данных.

Avg(Fields!Cost.Value, Nothing)

11.3.5.7.2Функция Count

Возвращает число значений указанного выражения, отличных от NULL.

Синтаксис

Count(Expression, Scope)

Параметры

Expression

(Variant или Binary) — выражение, к которому применяется агрегат. Выражение не может содержать статистические функции. При выполнении функции подсчитывается число всех значений указанного выражения, отличных от NULL.

478 DataRate

Scope

(String) Имя набора данных, группирования или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если указан аргумент Scope, статистическая функция применяется ко всем данным в наборе данных, группировании или области данных. Дополнительные сведения об аргументе Scope см. в разделе Использование функций в выражениях.

Тип возвращаемых данных

Возвращает тип Integer.

Замечания

Значением Scope не может быть выражением.

Пример

Следующий пример кода возвращает число сотрудников, относящихся к самой внешней области данных:

Count(Fields!EmployeeID.Value, Nothing)

Следующий пример кода возвращает число всех заказов, относящихся к группированию или области данных Orders:

Count(Fields!OrderID.Value, "Orders")

11.3.5.7.3Функция CountRows

Возвращает количество строк в указанной области.

Синтаксис

CountRows(Scope)

Параметры

Scope

(String) Имя набора данных, группирования или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если указана область Scope, статистическая функция применяется ко всем данным в наборе данных, группировании или области данных. Дополнительные сведения о параметре Scope см. в разделе Использование функций в выражениях.

Тип возвращаемых данных

Возвращает значение типа Integer.

Замечания

Значением Scope не может быть выражением.

Пример

В следующем примере кода вычисляется количество строк в группировании или области данных «Отдел».

CountRows("Department")

11.3.5.7.4Функция CountDistinct

Возвращает общее число/количество различных значений указанного выражения.

Синтаксис

CountDistinct(Expression, Scope)

Параметры

Модуль отчетов 479

Expression

(Variant) Выражение для выполнения статистической обработки. Выражение не может содержать статистические функции.

Scope

(String) Имя набора данных, группирования или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если указан аргумент Scope, статистическая функция применяется ко всем данным в наборе данных, в группировании или в области данных. Дополнительные сведения об аргументе Scope см. в разделе Использование функций в выражениях.

Тип возвращаемых данных

Возвращает тип Integer.

Замечания

Значением Scope не может быть выражением.

Пример

Следующий пример кода обеспечивает подсчет менеджеров в группировании или в области данных «Отдел».

CountDistinct(Fields!ManagerID.Value, "Department")

11.3.5.7.5Функция First

Возвращает первое значение указанного выражения.

Синтаксис

First(Expression, Scope)

Параметры

Expression

(Variant или Binary) — выражение, к которому применяется агрегат. Выражение не может содержать статистические функции.

Scope

(String) Имя набора данных, группирования или области данных, содержащих элементы отчета, к которым применяется статистическая функция. Если указан аргумент Scope, статистическая функция применяется ко всем данным в наборе данных, группировании или области данных. Дополнительные сведения об аргументе Scope см. в разделе Использование функций в выражениях.

Тип возвращаемых данных

Определяется типом выражения.

Замечания

Функция First возвращает значение после того, как к данным были применены все операции сортировки.

Значением Scope не может быть выражением.

Пример

Следующий пример кода возвращает первый номер продукта в группировании или области данных «Category»:

First(Fields!ProductNumber.Value, "Category")

480 DataRate