История страницы
...
Join tables Version 1 (Net)
...
Action group:
...
Tables
Описание
Действие предназначено для объединения данных из двух таблиц.
Настройки
...
Description
The action is designed to merge data from two tables.
Action icon
Settings of parameters
Property | Description | Type | Filling example | Mandatory field |
Parameters | ||||
First table | The table to which the data from the second table will be added. The results of the action will be stored in the current table |
. | Robin.DataTable |
Yes | |
Second |
table | The table whose data will be added to the first table. | Robin.DataTable |
Yes |
Join type |
Выпадающий список из элементов: Внутреннее, Левое, Полное.
Тип операции объединения таблицThe type of table join operation. | Robin.String |
Connection condition
Yes | ||
The columns by which the tables will be merged. | A collection of condition strings for joining tables on the given columns. Where each line is a condition of the form: [column of the first table][operation][column of the second table]. Spaces are allowed between data. Instead of a column name, you can use its index, the numbering starts from 1. If we refer to a column by its name, then we select the name with curly braces: {column name}. List of valid operations: =, <>, >, <, >=, <= Collection string examples: {ID} = {UserID}, 1>{UserID}, 1 <> 5. | Robin.Collection |
Особые условия использования
При выполнении действия можно подавать таблицы с разным количеством столбцов, они присоединяются справа к первой таблице. Если у объединяемых таблиц одинаковые названия столбцов, дубликатам названий столбцов нужно присваивать номер.
Логика выпадающего списка "Тип соединения":
- "Внутреннее соединение" - Inner join. Соединяются по горизонтали значения, которые совпадают. Недостающие столбцы дописываются.
- "Левое соединение" - Left join. Берутся все значения из первой таблицы и добавляются только те, которые совпадают из второй. Нулевые значения вставляются в столбец для строк из DataTable1, которые не имеют совпадения в строках DataTable2.
- "Полное соединение" - Full join. Берутся все данные из всех таблиц, дописываются пробелы там, где не сошлись ключи. Значения Null добавляются в строки из обеих таблиц, которые не совпадают.
Соединяемые столбцы должны иметь идентичную семантику, т.е. оба столбца должны иметь одинаковое логическое значение. Соединяемые столбцы не обязательно должны иметь одинаковое имя (или даже одинаковый тип данных), хотя часто так и бывает.
Можно объединять одну и ту же таблицу, робот не выдаст ошибку.
Все изменения применяются к первой таблице.
Yes |
Special conditions of use
Tables with different number of columns can be submitted when performing the action, they are joined to the right side of the first table. If the tables to be merged have the same column names, duplicate column names must be assigned a number.
Logic of the "Join type" dropdown list:
- Inner join. Values that match horizontally are joined. The missing columns are added.
- Left join. All values from the first table are taken and only the values that match from the second table are added. Zero values are inserted into the column for rows from DataTable1 that have no match in the rows of DataTable2.
- Full join. All data from all tables is taken, spaces are added where keys do not match. Null values are added to rows from both tables that do not match.
The joined columns must have identical semantics, i.e. both columns must have the same logical value. Merged columns do not necessarily have to have the same name (or even the same data type), although this is often the case.
You can merge the same table, the robot will not generate an error.
All changes are applied to the first table.
Condition | Input data | Result |
---|---|---|
Connection type - Inner |
Условие
Входные данные
Результат
{ID} = {ID} | DT1 DT2 |
Connection type - |
Left {ID} = {ID} |
same | |
Тип соединения - Полное {ID} = {ID} |
same |
Connection type - |
Full {rank_id}={rank_id} {store_id}={store_id} |
...
Description of the parameter Connection condition Robin.Collection:
- A collection of condition rows to join tables based on given columns.
- Each row is a condition of the form: [column of the first table][space][operation][space][column of the second table] OR [column of the first table][operation][column of the second table]. That is, the condition can be entered with or without spaces. It will still be recognized correctly by the robot. The name/index of the column from the first table is always specified on the left; the search for the column with such name or index is performed only in the first table. Similarly, the name/index of the column from the second input table is specified on the right.
- List of allowable operations:
- Коллекция строк условий для объединения таблиц по заданным столбцам.
- Каждая строка это условие вида: [столбец первой таблицы][пробел][операция][пробел][столбец второй таблицы] ИЛИ [столбец первой таблицы][операция][столбец второй таблицы]. Т.е. условие может быть введено как с пробелами, так и без пробелов. Все равно будет распознано роботом корректно. Слева всегда указывается название\индекс столбца из первой таблицы, поиск столбца с таким названием или индексом ведется только в первой таблице. Аналогично, справа указывается название\индекс столбца из второй таблицы, поданной на вход.
- Список допустимых операций: =, <>, >, <, >=, <=
- Вместо имени столбца можно использовать его индекс, нумерация начинается с 1.
- Instead of the column name, you can use its index, numbering starts from 1.
- When writing a water line join condition, you can specify a column of one table by its name and a column of another table by its indexПри написании условия соединения водной строке можно столбец одной таблицы указывать через название, а столбец другой - через индекс.
- Название столбцов должны быть указаны в {}, а индекс столбца - без скобочек, т.е. вот так {5} - это название, просто 5 - индекс.Если пользователь указал название столбца без {}, действие не выдаст сразу ошибку, а попробует найти значение среди названий столбцов Но если такое название состоит из нескольких слов с пробелами, то робот вернет ошибку бОльшего количества операторов. Название столбца, заключенное в {}, может содержать любое кол-во пробелов; например, {ФИО сотрудников отдела
- If the user specified a column name without {}, the action will not return an error immediately, but will try to find the value among the column names; however, if such a name consists of several words with spaces, the robot will return an error of more operators. A column name enclosed in {} can contain any number of spaces; e.g. {ID} = {ID}, действие не вернет ошибку.
- Если на вход подается некорректная строка, робот не смог ее распознать, так как в ней больше операторов, чем нужно, тогда робот выдаст ошибку.
- В коллекции можно указать несколько условий. Каждое условие должно быть записано в отдельном элементе коллекции.
- Если указано несколько условий соединения, то действие при соединении таблиц должно учитывать все указанные условия, а не любое из них. Т.е. между условиями стоит логическое "И", а не "ИЛИ".
- the action will not return an error.
- If an incorrect string is given as input, the robot could not recognize it because it has more operators than it needs, then the robot will generate an error.
- Multiple conditions can be specified in a collection. Each condition must be recorded in a separate element of the collection.
- If several join conditions are specified, the action of joining tables must take into account all specified conditions, not any of them. I.e. there is a logical "AND" between the conditions, not "OR".
- Examples of collection stringsПримеры строк коллекции:
ID = UserID
{ID} = {UserID}
1 > UserID
1 <> 5
1>UserID.
Пример использования
Example of use
Task
There are 2 tables in Excel, you need to merge them by "inner" type of connection (Horizontally merge values that match. The missing columns are added). Merge them by the following condition: {JobЗадача: существует 2 таблицы в Excel , необходимо их объединить по типу соединения "внутреннее" (Соединяются по горизонтали значения, которые совпадают. Недостающие столбцы дописываются.). Объединение сделать по условию: {Должность} = {Code}
и
Решение: воспользоваться действиями "Открыть
Solution
Use "Open", "
...
Take table", "
...
Join tables" actions.
...
Реализация:
Implementation
- Assemble a robot consisting of actionsСобрать схему робота, состоящего из действий:
- Настроить параметры действия "Открыть" для первого и второго документа (таблицыSet the parameters of the "Open" action for the first and the second document (table).
- Настроить параметры действия "Взять таблицу" для первого и второго документа (таблицы).
- Set the parameters of the "Take table" action for the first and the second document (table).
- Set the parameters of the "Join tables" action. In the "Connection condition" field specify: {JobНастроить параметры действия "Соединить таблицы". В поле "Условие соединения" указать: {Должность} = {CODE}
Результат:
- Click "Start" in the top panel.
Result
The program robot completed successfully.
The tables are joined. The result of merging the tables will be added to the first input tableПрограммный робот отработал успешно. Таблицы соединены. Результат объединения таблиц будет складываться в первую входную таблицу.