# Concat ― функция скрипта

Concat() Функция используется для объединения строковых значений. Эта функция скрипта возвращает агрегированное объединение строк всех значений выражения, повторяемого в нескольких записях, как определено предложением group by.

Concat (Concat ([ distinct ] string [, delimiter [, sort\_weight]][ distinct ] string [, delimiter [, sort\_weight]]))

Возвращаемые типы данных: строка

Выражение или поле, содержащее строку для обработки.

Конкатенация аргументов

| Аргумент | Описание |
| --- | --- |
| string | Выражение или поле, содержащее строку для обработки. |
| delimiter | Каждое значение может быть разделено строкой, найденной в delimiter. |
| sort\_weight | Порядок объединения может быть определен значением измерения sort\_weight при его наличии со строкой, соответствующей наименьшему значению, появляющемуся в объединении первым Если в качестве значения аргумента sort\_weight используется 0, сортировка не применяется к выходным данным. Если аргумент sort\_weight не указан, функция по умолчанию выполняет буквенно-цифровую сортировку. |
| distinct | Если слово distinct указано перед выражением, все дубликаты будут проигнорированы. |

Добавьте образец скрипта в свой документ и запустите. Затем добавьте на лист документа как минимум поля, указанные в столбце с результатами, чтобы увидеть результаты.

Примеры и результаты

| Пример | Поле результата | Значение результата |
| --- | --- | --- |
| `TeamData:<br>`<br>`LOAD * inline [`<br>`SalesGroup\|Team\|Date\|Amount<br>`<br>`East\|Gamma\|01/05/2013\|20000<br>`<br>`East\|Gamma\|02/05/2013\|20000<br>`<br>`West\|Zeta\|01/06/2013\|19000<br>`<br>`East\|Alpha\|01/07/2013\|25000<br>`<br>`East\|Delta\|01/08/2013\|14000<br>`<br>`West\|Epsilon\|01/09/2013\|17000<br>`<br>`West\|Eta\|01/10/2013\|14000<br>`<br>`East\|Beta\|01/11/2013\|20000<br>`<br>`West\|Theta\|01/12/2013\|23000<br>`<br>`] (delimiter is '\|');`<br>`Concat1:`<br>`LOAD SalesGroup,Concat(Team) as TeamConcat1  Resident TeamData Group By SalesGroup;` | SalesGroup<br><br>East<br><br>West | TeamConcat1<br><br>AlphaBetaDeltaGammaGamma<br><br>EpsilonEtaThetaZeta |
| При условии, что таблица TeamData загружается, как в предыдущем примере:<br><br>`LOAD SalesGroup,Concat(distinct Team,'-') as TeamConcat2  Resident TeamData Group By SalesGroup;` | SalesGroup<br><br>East<br><br>West | TeamConcat2<br><br>Alpha-Beta-Delta-Gamma<br><br>Epsilon-Eta-Theta-Zeta |
| При условии, что таблица TeamData загружается, как в предыдущем примере: Поскольку добавлен аргумент для sort\_weight, результаты упорядочиваются по значению измеренияAmount:<br><br>`LOAD SalesGroup,Concat(distinct Team,'-',Amount) as TeamConcat2  Resident TeamData Group By SalesGroup;` | SalesGroup<br><br>East<br><br>West | TeamConcat2<br><br>Delta-Beta-Gamma-Alpha<br><br>Eta-Epsilon-Zeta-Theta |
| ```<br>T1:<br>Load *<br>INLINE [<br>EmployeeID, Unit, Department, Age, Salary, Country<br>1, A, z, 30, 81000, GER<br>2, B, z, 29, 39000, IRL<br>3, B, y, 40, 58000, IRL<br>4, A, y, 45, 71000, USA<br>5, A, z, 26, 79000, GBR<br>6, B, z, 20, 31000, GER<br>7, A, y, 56, 29000, USA<br>8, A, y, 35, 52000, GBR<br>];<br><br>T2:<br>Load<br>Unit,<br>Concat(Age, '-', 0) as ConcatNoSort<br>resident T1 group by Unit;<br>``` | Unit<br><br>A<br><br>B | ConcatNoSort<br><br>30-45-26-56-35<br><br>29-40-20 |