Difference between revisions of "TempDB.Group"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:54, 7 February 2021
Group (Группировка таблицы) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция выполняет операцию группировки над записями таблицы, в таблице результате остаются только столбцы группировки и столбцы агрегации. В операции участвуют все записи таблицы. См. также Group.
Синтаксис
TempDB.Group(<Столбцы группировки (STRING)>,<Столбцы агрегации с операциями (STRING)>)
Аргументы
<Столбцы группировки (STRING)>
- (необязательный аргумент) Аргумент перечисляет через запятую наименования столбцов, по которым будет группироваться таблица. Регистр наименований не имеет значения. Каждый заданный столбец должен присутствовать во временной таблице.<Столбцы агрегации с операциями (STRING)>
- (необязательный аргумент) Аргумент перечисляет наименования столбцов через запятую, для которых будет выполнена заданная операция агрегации. Регистр наименований не имеет значения. Каждый заданный столбец должен присутствовать в таблице. Формат записи выглядит сл. образом:<Столбец1[:<Операция1>][,<Столбец2[:<Операция2>]...]>
. Функция позволяет использовать следующие операции:- SUM (по умолчанию) -- значения столбца для удаляемых строк и оставшихся строк будут найдены суммированием.
- AVG -- Будут найдены средние значения столбца для удаляемых строк и оставшихся строк.
- MAX -- В столбцах оставшихся строках будет содержаться максимальное из значение удаляемых строк и оставшихся.
- MIN -- В столбцах оставшихся строках будет содержаться минимальное из значение удаляемых строк и оставшихся.
- COUNT -- В столбцах оставшихся строках будет содержаться количество удаленных строк этой группировки, увеличенное на единицу.
Примеры
//Пример создает таблицу аТемп, и заполняет ее резервами реализациями договора аДоговор с помощью загрузки движений накопителя Взаиморасчеты // При этом суммы подчиненных документов возврата отнимаются от сумм документов реализации //После создания, производится выборка записей по датам документов реализации аТемп:=TempDB.Create("аДок:DB,Сумма:NUMBER.15.2"); аТемп.LoadFrom("Stor.Взаиморасчеты","@LINK->аДок,Сумма*?(@EXPENSE=1,-1,1)->Сумма","Договор=аДоговор","isEmpty(Тара)","IsType(@LINK,Doc.Реализация,Doc.ВозвратОтПокупателя)"); //Для документов возврата подставляем в столбик аДок их основание аТемп.Update(,"аДок..Doc.ВозвратОтПокупателя.ДокОснование->аДок","IsType(аДок,Doc.ВозвратОтПокупателя)"); аТемп.Group("аДок","Сумма"); аТемп.Remove("(Сумма<=0)Or(Not isType(аДок,Doc.Реализация))"); аТемп.AddColumns("Дата:DATE"); аТемп.Update(,"аДок..Doc.Реализация.DocDate->Дата"); аТемп.Select("Дата-"); ...