LINQ в C # для создания и сопоставления новых уникальных идентификаторов - PullRequest
0 голосов
/ 28 августа 2018

Я был разработчиком данных и би. Меня просят изучить C # и использовать LINQ для создания рабочих мест ETL. У меня есть сценарий ниже, где мне нужна помощь и руководство.

  • Таблица необработанных данных - Transactions_Raw

    Columns:  
    Trade_Id | InstrumentId | AccountId | Trade_Amount | Trade Type | Trade Date
    
  • Таблица 1 - Инструмент (уникальный инструмент)

    Columns:
    Id | IdSource | InstrumentType | Active
    
  • Таблица 2 - Учетная запись (уникальные учетные записи)

    Columns:
    Id | IdSource | AccountType | Active
    
  • Таблица 3 - Решение (комбинация уникального инструмента и счета на основе входящих фактологических данных)

    Columns:
    Id | InstrumentId | AccountId | Resolution Start Date | Active
    
  • Таблица фактов - Транзакции

    Columns:
    ResolutionId | Trade Date | Trade Type | Trade Type
    

На основе записей, поступающих из необработанной таблицы (Transactions_Raw).

  • Если InstrumentId отсутствует в таблице инструментов, создайте запись
  • Если Accountd отсутствует в таблице счетов, создайте запись
  • Создайте уникальный ResolutionId на основе комбинации InstrumentId+ Accountd
  • Переместить транзакцию в таблицу фактов на основе ResolutionId, скрывая Instrument&Account

Если комбинация InstrumentId+Accountd уже существует в таблице разрешения, просто переместите данные транзакции из необработанного в фактический на основе ResolutionId.

Я надеюсь, что объяснение понятно.

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