Как вернуть несколько значений из несвязанного поиска?

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

Я знаю, как вернуть несколько значений, когда мы используем реляционные таблицы. В этом случае мы просто объединяем значения и возвращаем одно значение. Мы снова разделяем эти значения.

Помогите пожалуйста мне.


person Vicky    schedule 02.04.2013    source источник
comment
@Marek-Informatica Unconnected Lookup по умолчанию поддерживает только один обратный порт. Поэтому в качестве альтернативы напишите переопределение sql поиска с требуемыми значениями портов, объединенными в одну строку в качестве возвращаемого значения порта. Вызовите неподключенный поиск из преобразования выражения и используйте различные выходные порты для извлечения значений поиска на основе объединенного возвращаемого значения. Используйте SUBSTR, INSTR для извлечения значений столбца из объединенного возвращаемого поля. Вы можете увидеть подробное объяснение по этой ссылке-informaticatechtiks.blogspot.in/2012/05/   -  person Vicky    schedule 04.04.2013
comment
@Marek- и да, я знаю о настройке «Вернуть все значения при множественном совпадении». Я думаю, это поможет, когда мы получим несколько совпадений в одном столбце, верно?? Пожалуйста, поправьте меня, если я ошибаюсь.   -  person Vicky    schedule 04.04.2013
comment
Это верно. Я думал, что под возвращением нескольких значений вы имели в виду набор строк, хотя на самом деле вы имели в виду столбцы.   -  person Marek Grzenkowicz    schedule 04.04.2013
comment
Мы можем вернуть всю строку как один порт, используя SQL-запрос (когда источником является реляционная таблица). как это возможно, когда мы работаем с плоскими файлами?   -  person Vicky    schedule 04.04.2013
comment
Я думал об определении определения источника (а позже и поиска) с двумя портами - key и rest_of_line. Затем вы можете получить строки по key и проанализировать rest_of_line значений. Но это не будет работать для файла с разделителями. Разве вы не можете загрузить этот файл во вспомогательную таблицу, а затем воспользоваться уже известным трюком поиска без подключения? Боюсь, это самый простой способ.   -  person Marek Grzenkowicz    schedule 05.04.2013
comment
Может я не понял вопроса, но можно читать целые строки как один порт. Просто используйте файл, как если бы это был файл с фиксированной шириной (только с широким первым полем). Но тогда вы должны проанализировать все поля вручную.   -  person momobo    schedule 05.04.2013


Ответы (2)


если неподключенный поиск в реляционной таблице

  1. In lookup override we can concatenate two or multiple ports and return that port to expression transformation.
    1. In expression transformation extract those values.
person DoOrDie    schedule 29.12.2015

Я думаю, вы заменили первый разделитель другим разделителем (например, &) в исходном файле. Используя «&» в качестве разделителя, вы можете создать поиск и использовать его для извлечения объединенного возвращаемого поля, которое даст вам несколько возвращаемых значений для совпадения.

person Sandeep    schedule 16.07.2013