Я был разработчиком данных и би. Меня просят изучить 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
.
Я надеюсь, что объяснение понятно.