Конструктор полей помогает превратить повторяющиеся свойства источника в обычные колонки таблицы. Это полезно, когда в исходном файле свойства лежат не как отдельные поля Цвет и Материал, а как набор пар “название свойства / значение свойства”.
Конструктор работает в двух типовых сценариях: для JSON, XML и YML он может найти повторяющуюся группу элементов, например features; для CSV, XLS, XLSX и XLSM пользователь задает маску колонок, например Заголовок{i} и Значение{i}. После добавления в редактор попадают понятные колонки, а технические повторяющиеся поля можно не переносить в итоговую таблицу.
JSON, XML и YML: повторяющиеся элементы
Если в источнике есть повторяющийся список свойств, Eofferix показывает найденную группу перед табличным редактором. В примере это группа features: внутри каждого элемента есть поле title с названием будущей колонки и поле value со значением.

Откройте группу и проверьте, откуда брать название колонки и значение. Обычно название колонки берется из поля вроде title, name или label, а значение - из value, text или похожего поля. Предпросмотр сразу показывает, какие колонки появятся в таблице. Ненужные будущие колонки можно отключить иконкой глаза: отключенная колонка не попадет в файл результата.

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

После добавления редактор открывается уже с обычными колонками. В примере технические поля вида features.1.title и features.1.value заменены на понятные колонки Цвет, Материал и другие найденные свойства.

CSV, XLS и XLSX: повторяющиеся пары колонок
В табличных файлах структура может быть любой, поэтому конструктор открывается из табличного снапшота вручную. Нажмите Конструктор полей, если видите повторяющиеся пары колонок: например Заголовок1/Значение1, Заголовок2/Значение2.

В режиме По маске укажите статичные части названия колонки и место, где меняется фрагмент. Для изменяемой части используйте {i} или {index}. Маска Заголовок{i} найдет Заголовок1, Заголовок2, ЗаголовокA; маска f--{i}--n найдет f--1--n и f--N--n. Регистр букв в маске не важен. Точка не является wildcard-символом: если в названии колонки есть точка, пишите ее как обычный статичный символ.
В поле Маска колонки с заголовком укажите колонку, где лежит будущий заголовок. В поле Маска колонки со значением укажите колонку со значением. Если значение собирается из нескольких колонок, добавьте каждую маску с новой строки. В предпросмотре ненужные будущие колонки можно отключить иконкой глаза: отключенная колонка не попадет в файл результата.

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

После добавления в таблице остаются обычные поля товара и появляются новые колонки Цвет, Материал, Стиль и другие найденные свойства. Исходные пары Заголовок1/Значение1 в таблицу не добавляются.

Примеры
Свойства из JSON, XML или YML
В исходном документе свойства повторяются внутри одного товара, а после сборки становятся колонками.
Было в снапшоте
| sku | features.1.title | features.1.value | features.2.title | features.2.value |
|---|---|---|---|---|
| CHAIR-001 | Цвет | Черный | Материал | Сталь |
Стало в таблице
| sku | Цвет | Материал |
|---|---|---|
| CHAIR-001 | Черный | Сталь |
Повторяющиеся пары по маске
В табличном источнике названия будущих колонок лежат в Заголовок{i}, а значения - в Значение{i}.
Было в таблице
| sku | Заголовок1 | Значение1 | Заголовок2 | Значение2 |
|---|---|---|---|---|
| CHAIR-001 | Цвет | Черный | Материал | Сталь |
Стало в таблице
| sku | Цвет | Материал |
|---|---|---|
| CHAIR-001 | Черный | Сталь |
Несколько значений с одним названием
Если одно свойство повторилось в одной строке, Eofferix не создает две одинаковые колонки, а объединяет значения.
Было в таблице
| sku | Заголовок1 | Значение1 | Заголовок2 | Значение2 |
|---|---|---|---|---|
| PHONE-001 | Совместимость | iOS | Совместимость | Android |
Стало в таблице
| sku | Совместимость |
|---|---|
| PHONE-001 | iOS | Android |
Значение из нескольких колонок
В маске значения можно указать несколько колонок, каждую с новой строки. Например, Значение{i} и Единица{i}. Тогда значение будет собрано из нескольких частей с выбранным разделителем.
Было в таблице
| sku | Поле1 | Значение1 | Единица1 |
|---|---|---|---|
| SHELF-004 | Высота | 180 | см |
Стало в таблице
| sku | Высота |
|---|---|
| SHELF-004 | 180 см |