Difference between revisions of "TempDB.Gross1"

From SunFlurry wiki
Jump to: navigation, search
m (1 revision imported)
1>Admin
Line 25: Line 25:
 
** '''SUM''' (по умолчанию) -- будет найдена сумма указанного столбца по строкам, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
 
** '''SUM''' (по умолчанию) -- будет найдена сумма указанного столбца по строкам, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
 
** '''AVG''' -- будет найдено среднее значение указанного столбца из строк, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
 
** '''AVG''' -- будет найдено среднее значение указанного столбца из строк, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
** '''MAX''' -- из всех значений столбца, входящих в фильтр, будет возвращено максимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, максимальным будет не значение, наименование которого (или дата которого) имеют максимальное значение, а значение с максимальным внутренним кодом.
+
** '''MAX''' -- из всех значений столбца, входящих в фильтр, будет возвращено максимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, в случае столбцов с типом объекта базы данных, максимальным будет не значение, наименование которого (или дата которого) имеют максимальное значение, а значение с максимальным внутренним кодом.
** '''MIN''' -- из всех значений столбца,входящих в фильтр,  будет возвращено минимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, минимальным будет не значение, наименование которого (или дата которого) имеют минимальное значение, а значение с минимальным внутренним кодом.
+
** '''MIN''' -- из всех значений столбца,входящих в фильтр,  будет возвращено минимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, в случае столбцов с типом объекта базы данных, минимальным будет не значение, наименование которого (или дата которого) имеют минимальное значение, а значение с минимальным внутренним кодом.
 
** '''COUNT''' -- будет возвращено количество строк, входящих в фильтр (равнозначно функции [[TempDB.Size|Size]]).
 
** '''COUNT''' -- будет возвращено количество строк, входящих в фильтр (равнозначно функции [[TempDB.Size|Size]]).
 +
* <code>''<Стандартные фильтры>''</code> - {{Optional}} Стандартные фильтры отбора записей таблицы описаны в статье [[Стандартные фильтры]]. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак '''~'''. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]), при указании наименование также применимы префиксы (типа ''':'''), как это описано в [[Временная таблица базы данных#Формулы при вычислении полей записей временной таблицы базы данных|статье по временной таблице базы данных]].
 +
 +
==== Возвращаемое значение ====
 +
Возвращает вещественное число -- результат операции.
  
 
== Примеры ==
 
== Примеры ==

Revision as of 10:50, 23 April 2021

  Gross1, Compute1 (Простой подсчет в таблице)
Объект:Временная таблица базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, неверное наименование столбца, неверные аргументы, ошибка сервера
Визуальность:Нет

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

Синтаксис

TempDB.Gross1(<Наименование столбца (STRING)>,<Тип операции агрегации (STRING)>="SUM",<Стандартные фильтры>...):<Результат агрегации (NUMBER)>

Аргументы

  • <Наименование столбца (STRING)> - Аргумент задает наименование столбца, для которого необходимо выполнить операцию подсчета.
  • <Тип операции агрегации (STRING)> - (необязательный аргумент) Аргумент задает тип операции, который необходимо выполнить над столбцом. Доступны следующие значения операций:
    • SUM (по умолчанию) -- будет найдена сумма указанного столбца по строкам, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
    • AVG -- будет найдено среднее значение указанного столбца из строк, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
    • MAX -- из всех значений столбца, входящих в фильтр, будет возвращено максимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, в случае столбцов с типом объекта базы данных, максимальным будет не значение, наименование которого (или дата которого) имеют максимальное значение, а значение с максимальным внутренним кодом.
    • MIN -- из всех значений столбца,входящих в фильтр, будет возвращено минимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, в случае столбцов с типом объекта базы данных, минимальным будет не значение, наименование которого (или дата которого) имеют минимальное значение, а значение с минимальным внутренним кодом.
    • COUNT -- будет возвращено количество строк, входящих в фильтр (равнозначно функции Size).
  • <Стандартные фильтры> - (необязательный аргумент) Стандартные фильтры отбора записей таблицы описаны в статье Стандартные фильтры. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак ~. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. Временная таблица базы данных, Объект запрос базы данных), при указании наименование также применимы префиксы (типа :), как это описано в статье по временной таблице базы данных.

Возвращаемое значение

Возвращает вещественное число -- результат операции.

Примеры

//Фрагмент загружает во временную таблицу движения накопителя с определенными фильтрами и добавляет их сумму к переменной СмБухИтого
аТемп:=TempDB.Create("Сумма:NUMBER.15.2");
аТемп.LoadFrom("Stor.БухгалтерскиеСчета","?(@Expense=1,-Сумма,Сумма)->Сумма",
  "@Date>=НачДата",
  "@Date<КонДата",
  "IsType(@LINK,Doc.РегистрацияВыпускаПродукции)",
  "@LINK IN спРегистрации",
  "(Счет=Сч20)And(Субконто1=сбПроизводство)And(Субконто2=сбЗатраты)And(isEmpty(Субконто3))");
СмБухИтого:=Round(СмБухИтого+аТемп.Gross1("Сумма"),2);