Команда AVERAGE

Вычисляет арифметическое среднее числовых выражений или полей.

Синтаксис:

AVERAGE [ExpressionList]
	[Scope] [FOR lExpression1] [WHILE lExpression2]
	[TO MemVarList | TO ARRAY ArrayName]
	[NOOPTIMIZE] 

Параметры:
ExpressionList
Задает усредняемые выражения. ExpressionList может быть списком полей таблицы, разделенных запятыми, или списком числовых выражений, включающих табличные поля.
Scope
Задает запись или группу записей, учитываемых при усреднении. Среднее будет вычисляться только для записей заданного диапазона. Значениями данного аргумента могут быть следующие предложения: ALL, NEXT nRecords, RECORD nRecordNumber и REST. По умолчанию усреднение проводится по всем записям (ALL).
Более подробно о предложениях диапазона см. тему Предложения диапазона или в главе 2 "Обзор языка программирования" Руководства разработчика. Команды с аргументом Scope воздействуют только на таблицу в активной рабочей области.
FOR lExpression1
Задает логическое условие участия записей в усреднении. Оно позволяет отфильтровывать нежелательные записи.
Технология Rushmore оптимизирует запрос AVERAGE FOR, если lExpression является оптимизируемым выражением. Для повышения производительности пользуйтесь в предложении FOR только оптимизируемыми выражениями. Информацию о выражениях, оптимизируемых по технологии Rushmore, см. темы SET OPTIMIZE и Основы технологии Rushmore, а также в главе 17 "Оптимизация приложений" Руководства разработчика.
WHILE lExpression2
Указывает, что записи будут включаться в вычисление среднего, пока значение логического выражения lExpression2 остается истинным (.T.).
TO MemVarList
Задает список переменных памяти или элементов массива, в которых будут сохраняться результаты усреднения.
TO ARRAY ArrayName
Задает одномерный массив, в котором сохраняются результаты усреднения. Такой массив можно создать перед выполнением команды AVERAGE.
Если массива, заданного в команде AVERAGE, не существует, Visual FoxPro автоматически создаст его. Если массив существует, но не в состоянии вместить все результаты, Visual FoxPro автоматически увеличит его размер надлежащим образом.
NOOPTIMIZE
Отключает оптимизацию усреднения по технологии Рашмора. Подробнее об этом см. в описании команды SET OPTIMIZE и Основы технологии Rushmore, а также в главе 17 "Оптимизация приложений" Руководства разработчика.

Комментарии:
Происходит усреднение всех числовых полей выбранной таблицы, если не задан список выражений. Результат отображается на экране, если задана установка SET TALK ON. Если команда SET HEADINGS установила значение ON, над результатами будут приведены имена полей или выражения с участием имен полей.

Пример:

CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE orders	&& Open order table
CLEAR
AVERAGE Order_Amt	&& Calcuate averages of all orders
AVERAGE Order_Amt TO gnAvg	&& Store average to memory variable
? 'Average order amount: '
?? gnAvg  && Display the average again

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.