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

Материал из GB wiki
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
|Название=GROUPBY
 
|Название=GROUPBY
 
|Описание=Позволяет группировать датасет по ключевым полям, суммируя при этом значения полей, которые не участвовали в группировке.
 
|Описание=Позволяет группировать датасет по ключевым полям, суммируя при этом значения полей, которые не участвовали в группировке.
|Синтаксис=GROUPBY ('''Имя датасета''','''Поля для группировки''','''Поля для суммирования''')
+
|Синтаксис=GROUPBY ('''Имя датасета''','''Поля для группировки''','''Поля для суммирования''',Имя датасета результата)
 
|Аргументы=
 
|Аргументы=
 
{{Аргумент
 
{{Аргумент
 
  |Название=Имя датасета
 
  |Название=Имя датасета
  |Пояснение=строка, имя датасета.
+
  |Пояснение=строка, имя датасета, поля которого подлежат группировке.
 
}}<br/>{{Аргумент
 
}}<br/>{{Аргумент
 
  |Название=Поля для группировки
 
  |Название=Поля для группировки
Строка 24: Строка 24:
 
* ''9 < 10, если сравнивать как числа (MIN, MAX);''
 
* ''9 < 10, если сравнивать как числа (MIN, MAX);''
 
* ''"9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).''</blockquote>
 
* ''"9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).''</blockquote>
 +
}}{{Аргумент
 +
|Название=Имя датасета результата
 +
|Пояснение=строка, имя датасета. Необязательный параметр, если задан, то результат группировки будет помещён в этот датасет (иначе &ndash; результат группировки помещается в исходный датасет).
 
}}
 
}}
 
|Тип результата=нет.
 
|Тип результата=нет.

Версия 06:53, 4 мая 2016

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

Синтаксис

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

Аргументы

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

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

  • 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'])