Наборы исторических данных в начальной сборке

Проблема, с которой я сейчас сталкиваюсь, кажется мне логичной и, возможно, является ограничением SSIS.

Мои данные имеют набор учетных записей, в любой момент эта учетная запись может принадлежать организации. Эта комбинация контролирует мое историческое измерение «Учетная запись».

E.g

╔════════════╦═══════════════╦════════════════╦════════════╦════════════╦═════════╗
║ AccountKey ║ AccountNumber ║ OrganisationSK ║ VaildFrom  ║ VaildTo    ║ Current ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 1          ║ 2000          ║ 10             ║ 2000-01-01 ║ 2006-02-10 ║ N       ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 2          ║ 2000          ║ 11             ║ 2006-02-10 ║ 2010-06-01 ║ N       ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 3          ║ 2000          ║ 10             ║ 2010-06-01 ║ NULL       ║ Y       ║
╚════════════╩═══════════════╩════════════════╩════════════╩════════════╩═════════╝

Делать это достаточно легко в будущем, так как я просто позволяю SCD делать свое дело, это начальная нагрузка, с которой я борюсь.

Используя SSIS в качестве инструмента ETL, могу ли я использовать внутреннее соединение, предоставляя мне три записи, сортировать их по «ValidFrom», а затем передавать все три в SCD, и SSIS разберется?

В этом случае, что люди делали в прошлом?


person Caz1224    schedule 04.02.2019    source источник


Ответы (1)


Вы можете использовать внутреннее соединение в службах SSIS с помощью преобразования слияния. Ссылка ниже:

Одним из требований для объединения слиянием является сортировка хотя бы одного столбца (столбцов), к которому вы присоединяетесь, из обоих источников данных, чтобы вы могли сортировать данные по требуемому столбцу ValidFrom.

Затем вы можете подключить выходные данные объединения слиянием к преобразованию SCD.

Обратите внимание, что преобразование Merge Join является полублокирующим преобразованием, поэтому производительность ETL может снизиться, если вы имеете дело с большим объемом данных.

person iMajek    schedule 04.02.2019