Этого можно добиться, используя tNormalize
и tPivotToColumnsDelimited
.
![enter image description here](https://i.stack.imgur.com/WhJtN.png)
tNormalize
, чтобы разбить список на отдельные элементы:
![enter image description here](https://i.stack.imgur.com/qrZMN.png)
Выберите столбец для нормализации (список значений) и их разделитель. Выходные данные этого компонента выглядят так:
|=--+-------=|
|col|values |
|=--+-------=|
|abc|Paul |
|abc|Michael |
|abc|Benjamin|
|abc|Latif |
|def|High |
|def|Medium |
|def|Low |
|def|NULL |
|ghi|Yes |
|ghi|No |
|ghi|Yes |
|ghi|No |
'---+--------'
Далее, в tMap, назначьте позицию каждому полю для построения целевой строки (Нам нужно знать, что первая строка содержит «Paul» в столбец ab c, "High" в столбце def и "Yes" в столбце ghi .. et c) Я использую эту последовательность:
Numeric.sequence("seq_" + row4.col, 1, 1)
![enter image description here](https://i.stack.imgur.com/ZryrD.png)
Это сбросит последовательность для каждого нового столбца.
Наконец, tPivotToColumnsDelimited
будет вращать данные: ![enter image description here](https://i.stack.imgur.com/tB8sB.png)
Затем вы читаете файл, сгенерированный tPivotToColumnsDelimited
, и загружаете его в вашу целевую таблицу.