Двойная запись предполагаемого члена SCD

Как лучше всего справиться с этим сценарием:

  1. Таблица измерений категорий содержит категории «Еда» и «Напитки».
  2. Запись факта поступает с неизвестной категорией и создает предполагаемый элемент «Н/Д» в измерении «Категория».
  3. У нас есть процесс проверки предполагаемых членов, оказывается, это была опечатка, и категория для этой записи фактов должна была быть «Еда».

Возможные действия:

Вариант A: вернуться к исходной системе и исправить категорию, чтобы она соответствовала одной из существующих категорий. При следующем запуске ETL выбирает существующую категорию и обновляет таблицу фактов. Получение общего количества продуктов питания включает эту запись факта, когда обновление завершено.

Вариант B: в таблице параметров измените поле CategoryName на «Food» и оставьте предполагаемый элемент. Не исправить в исходной системе - в отчетах группировать по CategoryName вместо ключа категории.

Если исправление в исходной системе невозможно - каковы другие варианты обработки этого сценария?


person lstanczyk    schedule 19.11.2019    source источник


Ответы (1)


Оба, на самом деле.

Следует реализовать вариант А. Потому что, если в восходящем потоке обнаружена опечатка, по возможности ее следует исправить.

Однако вариант Б затрагивает очень важный момент: группировать данные отчета следует по атрибутам, а не по ключам. Независимо от наличия одной или нескольких записей «Еда», вы всегда должны группировать по названию категории, а не по ключу категории. Подумайте о SCD ​​типа II: если вы группируете по ключу, то факты, относящиеся к разным версиям одной и той же записи измерения, будут сгруппированы в разные строки, чего обычно не требуется.

person nsousa    schedule 20.11.2019