Поделиться через


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

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

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

Внимание

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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