Преобразование медленно изменяющегося измерения

Область применения:SQL Server среда выполнения интеграции SSIS в Фабрика данных Azure

Преобразование «Медленно изменяющееся измерение» координирует обновление и вставку записей в таблицах измерений хранилища данных. Например, это преобразование можно использовать для настройки выходов преобразования, которые вставляют и обновляют записи в таблице DimProduct базы данных AdventureWorksDW2025 с данными из таблицы Production.Products OLTP-базы данных AdventureWorks.

Внимание

Мастер медленно изменяющихся измерений поддерживает только подключения к SQL Server.

Преобразование «Медленно изменяющееся измерение» предоставляет следующие функциональные возможности для управления медленно изменяющимися измерениями:

  • сопоставление входящих строк со строками из таблицы уточняющих запросов для идентификации новых и существующих строк;

  • идентификация входящих строк, содержащих изменения, в том случае, когда изменения запрещены;

  • Определение выведенных записей участников, требующих обновления.

  • идентификация входящих строк, содержащих протоколированные изменения, которые требуют вставки новых и обновления устаревших записей;

  • распознавание входящих строк, содержащих изменения, которые требуют обновления существующих записей, включая устаревшие.

Преобразование «Медленно изменяющееся измерение» поддерживает четыре разновидности изменений: изменяемый атрибут, атрибут с предысторией, атрибут неизменности и выводимый элемент.

  • Изменения изменяемого атрибута перезаписывают существующие записи. Такое изменение приравнивается к изменению типа 1. Преобразование «Медленно изменяющееся измерение» направляет эти строки на выход с именем Выход обновлений изменяющихся атрибутов.

  • Изменения атрибута с предысторией создают новые записи вместо обновления существующих. Единственное изменение, разрешенное в существующей записи, состоит в обновлении столбца, который указывает, является запись действующей или устаревшей. Такое изменение приравнивается к изменению типа 2. Преобразование «Медленно изменяющееся измерение» направляет эти строки в два выходных потока: Выходной поток вставки исторических атрибутов и Новый выходной поток.

  • Изменения атрибута Fixed означают, что значение столбца не должно изменяться. Преобразование «Медленно изменяющееся измерение» обнаруживает изменения и может направлять строки с изменениями в выход с именем Выход фиксированных атрибутов.

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

Примечание.

Преобразование «Медленно изменяющееся измерение» не поддерживает изменения типа 3, которые требуют внесения изменений в таблицу измерения. Идентифицировав столбцы с типом обновлений атрибута неизменности, можно фиксировать значения данных, являющихся вероятными изменениями типа 3.

Во время выполнения преобразование «Медленно изменяющееся измерение» сначала пытается сопоставить входящую строку с записью в таблице подстановки. Если сопоставление не найдено, входящая строка считается новой записью. Тогда преобразование «Медленно изменяющееся измерение» не выполняет дополнительных действий, а направляет строку в Новый выход.

Если совпадение обнаружено, преобразование «Медленно изменяющееся измерение» определяет, содержит ли строка изменения. Если строка содержит изменения, преобразование «Медленно изменяющееся измерение» определяет тип обновления для каждого столбца и направляет строку в Выход обновлений изменяющихся атрибутов, Выход фиксированных атрибутов, Выход вставки исторических атрибутов или Выход обновлений предполагаемых элементов. Если строка не содержит изменений, преобразование «Медленно изменяющееся измерение» направляет ее в Неизменившийся выход.

Выходы преобразования «Медленно изменяющееся измерение»

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

В приведенной ниже таблице приведены выходы преобразования и требования к последующим потокам данных. Требования описывают поток данных, создаваемый мастером медленно изменяющихся измерений.

Выходные данные Описание Требования к потокам данных
Изменение атрибутов обновляет выходные данные Запись в таблице уточняющих запросов обновляется. Этот выход используется для изменения строк атрибутов. Преобразование команды OLE DB обновляет запись с помощью инструкции UPDATE .
Вывод фиксированного атрибута Значения в не подлежащих изменению строках не соответствуют значениям в таблице уточняющих запросов. Этот выход используется для фиксированных строк атрибутов. Поток данных по умолчанию не создается. Если преобразование настроено на продолжение работы при обнаружении изменений в столбцах фиксированных атрибутов, следует создать поток данных, который захватывает эти строки.
Вывод вставок исторических атрибутов Таблица поиска содержит как минимум одну совпадающую строку. Строка, отмеченная как "текущая", должна теперь быть отмечена как "устаревшая". Эти выходные данные используются для исторических строк атрибутов. Преобразования «Производный столбец» создают столбцы для индикаторов строки с истёкшим сроком действия и текущей строки. Преобразование «Команда OLE DB» обновляет запись, которая теперь должна быть отмечена как «устаревшая». Строка с новыми значениями столбцов направляется в выход «Новый выход», где она вставляется и помечается как «текущая».
Результат обновления выведенного члена Строки выводимых элементов измерения вставляются. Эти выходные данные используются для строк логически выведенных элементов. Преобразование команды OLE DB обновляет запись с помощью инструкции SQL UPDATE .
Новые выходные данные Совпадающие строки отсутствуют в таблице уточняющих запросов. Строка добавлена в таблицу измерений. Этот выходной поток используется для новых строк и для изменений в строках исторических атрибутов. Преобразование «Производный столбец» устанавливает индикатор текущей строки, а компонент назначения OLE DB вставляет строку.
Неизменившийся выход Значения в таблице уточняющих запросов соответствуют значениям строк. Этот выход используется для строк, не содержащих изменений. Поток данных по умолчанию не создается, поскольку преобразование «Медленно изменяющееся измерение» не выполняет никаких действий. При необходимости фиксации этих строк следует создать поток данных для этого выхода.

Бизнес-ключи

Преобразование «Медленно изменяющееся измерение» требует наличия как минимум одного столбца бизнес-ключа.

Преобразование «Медленно изменяющееся измерение» не поддерживает бизнес-ключи со значением NULL. Если данные содержат строки, в которых значение столбца с бизнес-ключом равно NULL, их следует удалить из потока данных. Для фильтрации строк, в которых столбцы с бизнес-ключом содержат значения NULL, можно использовать преобразование «Условное разбиение». Дополнительные сведения см. в статье Conditional Split Transformation.

Оптимизация производительности преобразования «Медленно изменяющееся измерение»

Рекомендации по повышению производительности преобразования "Медленно изменяющееся измерение" см. в разделе Возможности для повышения производительности потока данных.

Устранение неполадок, связанных с преобразованием «Медленно изменяющееся измерение»

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

Настройка преобразования «Медленно изменяющееся измерение»

Свойства могут быть заданы с помощью конструктора SSIS или программным путем.

Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне Расширенный редактор или программными средствами, см. в следующих разделах.

Дополнительные сведения о настройке свойств см. в разделе Установление свойств компонента потока данных.

Настройка выходов преобразования «Медленно изменяющееся измерение»

Согласование обновления и вставки записей в таблицы измерения может быть сложной задачей, особенно если используются изменения типа 1 и 2. Конструктор служб SSIS предоставляет два способа настройки поддержки медленно изменяющихся измерений:

  • Диалоговое окно Расширенный редактор , в котором можно выбрать соединение, задать свойства стандартных и пользовательских компонентов, выбрать входные столбцы и задать свойства столбцов для шести выходов. Для выполнения задачи настройки поддержки медленно меняющегося измерения следует вручную создать поток данных для выходов, используемых преобразованием «Медленно изменяющееся измерение». Дополнительные сведения см. в статье Поток данных.

  • Мастер загрузки измерения, который помогает выполнить шаги по настройке преобразования «Медленно изменяющееся измерение» и построить поток данных для выходных данных преобразования. Чтобы изменить настройки медленно изменяющихся измерений, запустите мастер загрузки измерений повторно. Дополнительные сведения см. в разделе Настройка выходов при помощи мастера медленно изменяющихся измерений.

Установление свойств компонента потока данных