GROUPBY — различия между версиями
Материал из GB wiki
Alexey (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
|Название=GROUPBY | |Название=GROUPBY | ||
|Описание=Позволяет группировать датасет по ключевым полям, суммируя при этом значения полей, которые не участвовали в группировке. | |Описание=Позволяет группировать датасет по ключевым полям, суммируя при этом значения полей, которые не участвовали в группировке. | ||
− | |Синтаксис=GROUPBY ('''Имя датасета''','''Поля для группировки''','''Поля для суммирования''') | + | |Синтаксис=GROUPBY('''Имя датасета''', '''Поля для группировки''', '''Поля для суммирования''', Имя датасета результата) |
|Аргументы= | |Аргументы= | ||
{{Аргумент | {{Аргумент | ||
|Название=Имя датасета | |Название=Имя датасета | ||
− | |Пояснение=строка, имя датасета. | + | |Пояснение=строка, имя датасета, поля которого подлежат группировке. |
}}<br/>{{Аргумент | }}<br/>{{Аргумент | ||
|Название=Поля для группировки | |Название=Поля для группировки | ||
Строка 12: | Строка 12: | ||
}}<br/>{{Аргумент | }}<br/>{{Аргумент | ||
|Название=Поля для суммирования | |Название=Поля для суммирования | ||
− | |Пояснение=Строка, список полей для суммирования через ";". | + | |Пояснение=Строка, список полей для суммирования через ";". После каждого поля может быть указана функция через знак "=". Также можно использовать массив, где ключи – имена полей, значения – функции. |
− | + | :<p>Список функций:</p> | |
− | < | + | :* SUM – сумма значений; |
− | * SUM | + | :* MIN – минимальное значение; |
− | * MIN | + | :* STRMIN – минимальное значение (сравнение числовых значений как строк); |
− | * STRMIN | + | :* MAX – максимальное значение; |
− | * MAX | + | :* STRMAX – максимальное значение (сравнение числовых значений как строк); |
− | * STRMAX | + | :* LIST – список значений (через ";"); |
− | * LIST | + | :* STRSUM – все значения в общей строке без разделителей. |
− | * STRSUM | + | <blockquote>''Примечание. Для пар функций MIN–STRMIN и MAX–STRMAX следующие различия в сравнении числовых значений:'' |
− | <blockquote>''Примечание. Для пар функций MIN | + | * ''9 < 10, если сравнивать как числа (MIN, MAX);'' |
− | * 9 < 10, если сравнивать как числа; | + | * ''"9" > "10", если сравнивать как строки, т.к. при посимвольном сравнении "9">"1" (STRMIN, STRMAX).''</blockquote> |
− | * "9" > "10", если сравнивать как строки | + | }}{{Аргумент |
+ | |Название=Имя датасета результата | ||
+ | |Пояснение=строка, имя датасета. Необязательный параметр, если задан, то результат группировки будет помещён в этот датасет (иначе – результат группировки помещается в исходный датасет). | ||
}} | }} | ||
|Тип результата=нет. | |Тип результата=нет. | ||
− | |Пример= | + | |Пример=GroupBy('foDS', 'Articul', 'Quantity') |
− | <br/> | + | <br/>GroupBy('pds', 'Node;Name', 'Id=SUM;Name=LIST') |
− | <br/> | + | <br/>GroupBy('pds', ['Node','Name'], ['Id':'SUM','Name':'LIST']) |
}} | }} |
Текущая версия на 06:54, 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'])