преобразование «Медленно изменяющееся измерение»
Область применения: среда выполнения интеграции 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 предоставляет два способа настройки поддержки медленно изменяющихся измерений:
Диалоговое окно Расширенный редактор , в котором можно выбрать соединение, задать свойства стандартных и пользовательских компонентов, выбрать входные столбцы и задать свойства столбцов для шести выходов. Для выполнения задачи настройки поддержки медленно меняющегося измерения следует вручную создать поток данных для выходов, используемых преобразованием «Медленно изменяющееся измерение». Дополнительные сведения см. в статье Поток данных.
Мастер загрузки измерений проводит пользователей через последовательность шагов настройки преобразования «Медленно изменяющееся измерение» и создает поток данных для выходов преобразования. Чтобы изменить настройки медленно изменяющихся измерений, запустите мастер загрузки измерений повторно. Дополнительные сведения см. в разделе Настройка выходов при помощи мастера медленно изменяющихся измерений.
Связанные задачи
Установление свойств компонента потока данных