Есть ли способ получить все совпадения из Tmap в список - PullRequest
0 голосов
/ 30 ноября 2018

Я использую Talend для совместной операции между двумя таблицами, чтобы получить все записи о совпадениях.

enter image description here

Вот мои таблицы:

  1. таблица Карьер
  2. таблица прерываний Карьеры

Так что логика такая.У человека может быть номер машины X10 с начальной формы 01-01-2000 до 31-12-2000.С другой стороны, у меня есть несколько прерываний, связанных с этим carrer X10

  • Прерывание X10 с 01-02-2000 до 05-02-2000
  • Прерывание X10 с 05-06-2000 до 05-07-2000
  • Прерывание X10 от 30-10-2000 до 01-11-2000

У меня есть функция, которая принимает два параметра (автомобиль carrer, прерывание прерывания) Я использую этофункция для разделения интервала между прерываниями и интервалом прерывания, чтобы получить только прерывание без прерывания

enter image description here

, например

  • carrerдата начала 01-01-2000 до 31-12-2000

с

  • дата начала прерывания 05-02-2000 до 07-02-2000

в качестве функции выводая получаю это:

  • Carrer One: дата начала 01-01-2000 до 04-02-2000
  • прерывание: дата начала 05-02-2000 до 07-02-2000
  • carrer two: дата начала 08-02-2000 до 31-12-2000

    Моя программа работает нормально, когда у меня только одно прерывание, связанное с carrer.

когда у меня есть несколько прерываний, функция получит все записи (все совпадающие строки строка за строкой) следующим образом:

carrer X  Interruption I1     ->  to my function ()
carrer X  Interruption I2     ->  to my function ()
carrer X  Interruption I3     ->  to my function ()

В этом случае вся логика будет неправильной, так как символ не обновляется послепервое разделение с первым прерыванием, как всегда, мы передаем одну и ту же функцию carrer X 3 в мою функцию.

Мой вопрос, есть ли способ передать все совпадения в одном кадре в мою функцию? Вот так

carrer X ,  List<interruption>  -> to my function 

1 Ответ

0 голосов
/ 10 декабря 2018

Я нашел способ получить список строк, которые (все строки прерываний, которые соответствуют основной строке).Это делается с помощью компонента tAggregateRow.

Вот новая схема:

enter image description here

Я использовал дваПеречислите в группу все начало DATE и конец DATE столько же, сколько и тот же carrer.

enter image description here

и вот мой последний tmap shcema.enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...