GROUPBY — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 13: Строка 13:
 
  |Название=Поля для суммирования
 
  |Название=Поля для суммирования
 
  |Пояснение=Строка, список полей для суммирования через ";". После каждого поля может быть указана функция через знак "=". Также можно использовать массив, где ключи - имена полей, значения - функции.</p>
 
  |Пояснение=Строка, список полей для суммирования через ";". После каждого поля может быть указана функция через знак "=". Также можно использовать массив, где ключи - имена полей, значения - функции.</p>
<p>Список функций:</p>
+
:<p>Список функций:</p>
* SUM - сумма значений;
+
:* SUM - сумма значений;
* MIN - минимальное значение;
+
:* MIN - минимальное значение;
* STRMIN - минимальное значение (сравнение числовых значений как строк);
+
:* STRMIN - минимальное значение (сравнение числовых значений как строк);
* MAX - максимальное значение;
+
:* MAX - максимальное значение;
* STRMAX - максимальное значение (сравнение числовых значений как строк);
+
:* STRMAX - максимальное значение (сравнение числовых значений как строк);
* LIST - список значений (через ";");
+
:* LIST - список значений (через ";");
* STRSUM - все значения в общей строке без разделителей.
+
:* STRSUM - все значения в общей строке без разделителей.
<blockquote>''Примечание. Для пар функций MIN-STRMIN и MAX-STRMAX следующие различия в сравнении числовых значений:
+
<blockquote>''Примечание. Для пар функций MIN-STRMIN и MAX-STRMAX следующие различия в сравнении числовых значений:''
 
* ''9 < 10, если сравнивать как числа (MIN, MAX);''
 
* ''9 < 10, если сравнивать как числа (MIN, MAX);''
 
* ''"9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).''</blockquote>
 
* ''"9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).''</blockquote>

Версия 12:43, 5 июня 2015

Позволяет группировать датасет по ключевым полям, суммируя при этом значения полей, которые не участвовали в группировке.

Синтаксис

GROUPBY (Имя датасета,Поля для группировки,Поля для суммирования)

Аргументы

Имя датасета
строка, имя датасета.
Поля для группировки
Строка, список ключевых полей для группировки через ";". Также можно использовать массив строк без ключей.
Поля для суммирования
Строка, список полей для суммирования через ";". После каждого поля может быть указана функция через знак "=". Также можно использовать массив, где ключи - имена полей, значения - функции.</p>

Список функций:

  • SUM - сумма значений;
  • MIN - минимальное значение;
  • STRMIN - минимальное значение (сравнение числовых значений как строк);
  • MAX - максимальное значение;
  • STRMAX - максимальное значение (сравнение числовых значений как строк);
  • LIST - список значений (через ";");
  • STRSUM - все значения в общей строке без разделителей.
Примечание. Для пар функций MIN-STRMIN и MAX-STRMAX следующие различия в сравнении числовых значений:
  • 9 < 10, если сравнивать как числа (MIN, MAX);
  • "9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).

Тип результата

Нет

Примеры

GROUPBY('foDS','Articul','Quantity')
GROUPBY('pds','Node;Name','Id=SUM;Name=LIST')
GROUPBY('pds',['Node','Name'],['Id':'SUM','Name':'LIST'])