Мне нужно найти лидера группы и обновить лидера сотрудника. Я не уверен, как это сделать в DataStage.Рекурсия DataStage
У меня есть таблица сотрудников, как показано ниже
Emp_id mgr_id leader_id
1 100 400
101 201 500
3 202 600
Я получить файл, чтобы обновить таблицу сотрудников, когда работник меняет группу. Код изменения = CHG означает, что это изменение работы/группы.
Я делаю equi для соединения между файлом и таблицей сотрудников и может обновлять идентификатор менеджера. В то же время мне нужно найти лидера. Мне нужно получить всех сотрудников, которые отчитываются перед лидером высшего уровня и использовать его как лидера для каждого сотрудника.
файла:
emp_id mgr_id chg_cd
1 102 CHG
101 301 CHG
файла Строка 1: Существует изменение управляющего для emp_id = 1; необходимо обновить mgr_id, leader_id в таблице сотрудников
File Row 2: Существует изменение в менеджере для emp_id = 102, нужно изменить mgr_id и leader_id для в таблице сотрудников
Можете ли вы предложить мне о том, как продолжить в DataStage?
Вы не указали информацию о том, как можно идентифицировать лидера и почему его нужно изменить в вашем примере. В общем случае, если требуется рекурсия, я предлагаю сделать это в SQL. – MichaelTiefenbacher
Файл, который у меня есть, имеет историю всех сотрудников. Мне нужно проследить лидера в файле. Если сотрудник меняет группу, которую меняет менеджер, мне нужно найти лидера этой группы и обновить emp.leader_id.Change code = CHG означает смену работы. Я знаю идентификатор организации head - 9999 (это то же самое, что и emp_id; этот идентификатор также входит в файл). У меня есть ситуация, когда новый менеджер может менять группу в этом случае. Я также нашел лидера для менеджера. Нет таблицы для идентификаторов лидера. Пожалуйста, дайте мне знать, если это можно сделать в datastage. – user3225032
Лидеры - это те, кто докладывает руководителю организации, чей ID = 9999. Это идентификатор руководителя, который мне нужно найти. – user3225032