#sql-server #ssis
#sql-сервер #ssis
Вопрос:
Я пытаюсь загрузить данные в свою таблицу фактов с помощью SSIS. Для этого мне нужно создать поиск для каждой размерной таблицы для сопоставления первичных / внешних ключей. Но проблема в том, что мой исходный файл данных для таблицы фактов не содержит столбцов для внешних ключей. Моя целевая таблица фактов содержит столбцы внешнего ключа и некоторые другие столбцы. Но исходные данные содержат другие столбцы, но не столбцы внешнего ключа. Как я могу создать эти столбцы, чтобы сопоставить их со столбцами первичного ключа таблиц измерений в Lookup?
Комментарии:
1. Вопрос немного неясен. Вы спрашиваете, как добавить столбцы к источнику / месту назначения потока данных? Или вы спрашиваете, как сопоставить ваши данные, когда у вас нет ключей в источнике? Я действительно не уверен.
2. Загрузите исходный файл в промежуточную таблицу и напишите SQL-запрос для соединения промежуточной таблицы с измерениями, чтобы предоставить ключи измерений. Затем загрузите из этого запроса в свою таблицу фактов, используя
INSERT ... SELECT
илиMERGE
.
Ответ №1:
Есть много способов сделать это.
Как упоминал Дэвид, лучший способ — загрузить исходные данные в промежуточную таблицу, а затем оттуда с помощью процедуры SQL загрузить их в таблицу назначения.
Другой способ — использовать преобразование производного столбца для добавления новых столбцов в задачу потока данных.