Обходной путь для отсутствия SCD0 в компоненте SCD слияния измерений SSIS?

Прежде всего, позвольте мне сказать, я знаю, что в определении Кимбалла есть такая вещь, как SCD0... однако в мастере SSD SCD есть условие "Fixed Attribute", и у меня есть проектный случай, когда мне по праву нужно то, что было неофициально окрестили SCD0.

Будет ли какое-либо негативное влияние на определение столбцов "Фиксированный атрибут" в качестве SCD2, а затем просто не подключать выход SCD2 в качестве обходного пути из-за отсутствия функциональности SCD0?

Этот вопрос относится конкретно к компоненту SCD измерения слияния SSIS.

2 ответа

Решение

Да, негативное влияние есть. SCD2 - это процесс, состоящий из двух частей: сначала вставляется новая строка, а затем заканчивается старая. Обновления SCD1 обрабатываются во время истечения срока действия строки SCD2. В результате, если столбец SCD0 изменяется - и определяется как SCD2 - в то же время изменяется столбец SCD1, то выход обновления SCD1 не получит строку, поскольку он перейдет к выходу истечения SCD2. Подключение обоих выходов для выполнения обновления SCD1 приводит к тому, что многие ненужные обновления выполняются, когда столбец SCD0 изменяется, а столбец SCD1 - нет. Таким образом, это не эффективный обходной путь из-за отсутствия поддержки SCD0 в компоненте DMSCD.

В вашем сообщении говорится, что вы хотите медленно изменяющийся тип измерения 0. Насколько я понимаю, SCD0 просто означает, что вы сохраняете исходное определение строки и никогда не обновляете его и не устанавливаете для него дату окончания. Если это так, то зачем вообще использовать мастер медленного изменения размеров? Не могли бы вы просто вставить свой ETL туда, где его нет? Или вы имеете в виду, что некоторые столбцы будут сохранены в качестве исходного значения, и вы будете использовать типы более высокого порядка для других столбцов?

Например, может быть, у вас есть исходная таблица с ProductId, ProductName и ProductDescription. Возможно, вы хотите сохранить ProductId, поскольку он является вашим ключом и исходным ProductName, но вы хотите показать новые значения ProductDescription. Если это так, вы можете либо перезаписать ProductDescription новыми значениями и оставить другие столбцы без изменений (Тип 1), либо установить конечную дату для текущей строки и создать новую строку, но вставив исходные ProductId и ProductName (Тип 2).), или вы могли бы добавить PreviousProductDescription в новую строку, сохранив исходное ProductName (Тип 3).

Другие вопросы по тегам