Как данные с разделителем, содержащиеся в текстовом поле, разнести по столбцам?

0 голосов
Алёна Алексина в категории Как сделать...
Интересует реализация аналогично функции "Текст по столбцам" в Excel.

Пример содержания строки: 'esc':10,35 'inc':6,31 'incid':15,17,18,19

Ответ: 1 шт.

0 голосов
Алёна Алексина
Существует 2 варианта решения этой задачи в Loginom:

1) При импорте данных из БД (например Postgres) задать настройки через SQL запрос:
SELECT unnest(
string_to_array("название_поля", " ")) AS parts
From "название_таблицы"

После узла Импорт из БД использовать узел Калькулятор, в нем задать следующие настройки:

Добавляем Выражение Key (Ключ) строкового типа = RegExMatchedExp(".*(?=:)", Values), где Values-название поля

Добавляем Выражение Value (Значение) строкового типа = RegExMatchedExp("(?<=:).*", Values)

2) При импорте из Текстового файла составляем следующий сценарий:
узел импорта Текстовый файл, далее узел Свертка столбцов, далее узел Калькулятор ( с настройками, как в варианте 1)
Annyka
А попроще не собираетесь реализовывать?)
Ирина Комарова

Разбить значение строки, записанное с разделителями, на столбцы можно с помощью готового компонента "Разделитель строк" из библиотеки Loginom Silver Kit (учитывается только один разделитель).  

Annyka

Пакет добавила, выдаёт ошибку 

Не удалось найти базовый узел GUID={D1A184FE-E310-4F4A-90E7-624A02D6E8E2} Пакет=loginom_silver_kit в открытых пакетах

Ирина Комарова
Версия Loginom должна быть не ниже 7.2.0, библиотека должна быть установлена в соответствии с инструкцией по установке (https://github.com/loginom/loginom-silver-kit). Проверьте эти моменты.
Елена Гут назад
Добрый день. Подскажите пожалуйста синтаксис, как настроить разбивку на столбцы через калькулятор, если разделитель один - запятая?
stanislav levin назад

Если нужно разделить значения в строке (с одним разделителем) по столбцам, то рекомендую использовать компонент "Разделитель строк" из библиотеки Loginom Silver Kit.

Библиотека Loginom Silver Kit является открытой, вы можете посмотреть (открыть пакет), как там реализован данный компонент.

Реализовать это в одном лишь калькуляторе не получится.

Елена Гут назад
Спасибо
...