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

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